﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using CMISLibrary.Libraries;
using CMISLibrary;
using System.Data;
using System.Threading;
using BaocaoNPC.Usercontrols.reports;
using BaocaoNPC.common;
using bus_TienichNPC;


namespace CMIS2.BaocaoNPC.Usercontrols
{
    /// <summary>
    /// Interaction logic for TRUYTHU_DTU.xaml
    /// </summary>
    public partial class TRUYTHU_DTU : UserControl
    {
        #region Khai báo biến

        public String strMa_dviqly = NPCUS_DanhMuc.Pglobal.strMa_dviqly != "" && NPCUS_DanhMuc.Pglobal.strMa_dviqly != null ? NPCUS_DanhMuc.Pglobal.strMa_dviqly : "PA";
        public String strTenDNHap = NPCUS_DanhMuc.Pglobal.strTen_dangnhap != "" && NPCUS_DanhMuc.Pglobal.strTen_dangnhap != null ? NPCUS_DanhMuc.Pglobal.strTen_dangnhap : "PA";
        public String strTen_dviqly = NPCUS_DanhMuc.Pglobal.strTen_dviqly != "" && NPCUS_DanhMuc.Pglobal.strTen_dviqly != null ? NPCUS_DanhMuc.Pglobal.strTen_dviqly : "cty..";
        public String strTen_dviqly_CT = NPCUS_DanhMuc.Pglobal.strTen_dviqly_CT != "" && NPCUS_DanhMuc.Pglobal.strTen_dviqly_CT != null ? NPCUS_DanhMuc.Pglobal.strTen_dviqly_CT : "cap tren";

        public Int16 i16ThangHD = 0;
        public Int16 i16NamHD = 0;
        public Int16 i16Ky = 0;

        public int countKy = 0;
        public int countKyTruoc = 0;
        public int countKySau = 0;
        Int64 Ky = 0;
        Int64 Ky1 = 1;
        Int64 Ky2 = 2;
        Int64 Ky3 = 3;
        Int64 Ky0 = 0;
        Int64 Ky21 = 21;
        Int64 Ky22 = 22;

        double sanluongBTKy1 = 0;
        double sanluongCDKy1 = 0;
        double sanluongTDKy1 = 0;
        double sanluongSGKy1 = 0;
        double sanluongVCKy1 = 0;

        double sanluongBTKy2 = 0;
        double sanluongCDKy2 = 0;
        double sanluongTDKy2 = 0;
        double sanluongSGKy2 = 0;
        double sanluongVCKy2 = 0;

        double sanluongBTKy3 = 0;
        double sanluongCDKy3 = 0;
        double sanluongTDKy3 = 0;
        double sanluongSGKy3 = 0;
        double sanluongVCKy3 = 0;

        double sanluongBTKy0 = 0;
        double sanluongCDKy0 = 0;
        double sanluongTDKy0 = 0;
        double sanluongSGKy0 = 0;
        double sanluongVCKy0 = 0;

        double sanluongBTKy10 = 0;
        double sanluongCDKy10 = 0;
        double sanluongTDKy10 = 0;
        double sanluongSGKy10 = 0;
        double sanluongVCKy10 = 0;

        double sanluongKy = 0;        

        double SogioBTKy1 = 0;
        double SogioCDKy1 = 0;
        double SogioTDKy1 = 0;
        double SogioSGKy1 = 0;
        double SogioVCKy1 = 0;

        double SogioBTKy2 = 0;
        double SogioCDKy2 = 0;
        double SogioTDKy2 = 0;
        double SogioSGKy2 = 0;
        double SogioVCKy2 = 0;

        double SogioBTKy3 = 0;
        double SogioCDKy3 = 0;
        double SogioTDKy3 = 0;
        double SogioSGKy3 = 0;
        double SogioVCKy3 = 0;

        double sogiomatdienBT_TT = 0;
        double sogiomatdienCD_TT = 0;
        double sogiomatdienTD_TT = 0;
        double sogiomatdienVC_TT = 0;
        double sogiomatdienTT = 0;

        double sogiomatdienBT_Ky = 0;
        double sogiomatdienCD_Ky = 0;
        double sogiomatdienTD_Ky = 0;
        double sogiomatdienVC_Ky = 0;
        double sogiomatdienKy = 0;

        //Tổng số giờ các BCS
        double TongsoGioBTcacKy = 0;
        double TongsoGioCDcacKy = 0;
        double TongsoGioTDcacKy = 0;
        double TongsoGioSGcacKy = 0;
        double TongsoGioVCcacKy = 0;
        double TongsoGiocacKy = 0;

        double SogioBT_TT = 0;
        double SogioCD_TT = 0;
        double SogioTD_TT = 0;
        double SogioSG_TT = 0;
        double SogioVC_TT = 0;
        double SogioTruythu = 0;

       

        double Chisogannhat = 0;
        double ChisogannhatBT = 0;
        double ChisogannhatCD = 0;
        double ChisogannhatTD = 0;
        double ChisogannhatSG = 0;
        double ChisogannhatVC = 0;
        double Chisothao = 0;
        double ChisothaoBT = 0;
        double ChisothaoCD = 0;
        double ChisothaoTD = 0;
        double ChisothaoSG = 0;
        double ChisothaoVC = 0;
       

        //SAN LUONG TRUNG BINH
        double SanluongBT_TB = 0;
        double SanluongCD_TB = 0;
        double SanluongTD_TB = 0;
        double SanluongSG_TB = 0;
        double SanluongVC_TB = 0;

        double TongsanluongBTcacKy = 0;
        double TongsanluongCDcacKy = 0;
        double TongsanluongTDcacKy = 0;
        double TongsanluongSGcacKy = 0;
        double TongsanluongVCcacKy = 0;
        double TongsanluongcacKy = 0;

        double SanluongBT_TT = 0;
        double SanluongCD_TT = 0;
        double SanluongTD_TT = 0;
        double SanluongSG_TT = 0;
        double SanluongVC_TT = 0;
        double SanluongTT = 0;

        // Tinh tien
        double ThanhtienBT = 0;
        double ThanhtienCD = 0;
        double ThanhtienTD = 0;
        double ThanhtienVC = 0;
        double ThanhtienBTTRuSLThao = 0;
        double ThanhtienCDTRuSLThao = 0;
        double ThanhtienTDTRuSLThao = 0;
        double ThanhtienVCTRuSLThao = 0;
        double Thanhtien = 0;
        double ThanhtienTRuSLThao = 0;

        // San luong doc duoc
        double SanluongDocduoc = 0;
        double SanluongBTDocduoc = 0;
        double SanluongCDDocduoc = 0;
        double SanluongTDDocduoc = 0;
        double SanluongSGDocduoc = 0;
        double SanluongVCDocduoc = 0;

        //Ty le tinh theo bieu tong
        double TyleBT = 0;
        double TyleCD = 0;
        double TyleTD = 0;
        double TyleVC = 0;

        // ID CHISO
        Int64 ID_CHISO = 0;
        Int64 Id_chisoBTKy1 = 0;
        Int64 Id_chisoCDKy1 = 0;
        Int64 Id_chisoTDKy1 = 0;
        Int64 Id_chisoSGKy1 = 0;
        Int64 Id_chisoVCKy1 = 0;

        Int64 Id_chisoBTKy2 = 0;
        Int64 Id_chisoCDKy2 = 0;
        Int64 Id_chisoTDKy2 = 0;
        Int64 Id_chisoSGKy2 = 0;
        Int64 Id_chisoVCKy2 = 0;

        Int64 Id_chisoBTKy3 = 0;
        Int64 Id_chisoCDKy3 = 0;
        Int64 Id_chisoTDKy3 = 0;
        Int64 Id_chisoSGKy3 = 0;
        Int64 Id_chisoVCKy3 = 0;

        Int64 Id_chisoBTKy0 = 0;
        Int64 Id_chisoCDKy0 = 0;
        Int64 Id_chisoTDKy0 = 0;
        Int64 Id_chisoSGKy0 = 0;
        Int64 Id_chisoVCKy0 = 0;

        Int64 Id_chisoBTKy10 = 0;
        Int64 Id_chisoCDKy10 = 0;
        Int64 Id_chisoTDKy10 = 0;
        Int64 Id_chisoSGKy10 = 0;
        Int64 Id_chisoVCKy10 = 0;

        Int64 intID_TRTH = 0;
        Int64 nextSEQChiso = 0;


        //ngay thang gio
        DateTime dtNgayDKY;
        DateTime dtNgayCKY;
        DateTime dtNgayDKY_gannhat;
        DateTime dtNgayCKY_gannhat;
        DateTime dtNgayTT_tu;
        DateTime dtNgayTT_den;
        DateTime dtNgayDKY10;
        DateTime dtNgayCKY10;

        //he so nhan
        int hsn = 0;


        int intGiobd1 = 0;
        int intPhutbd1 = 0;
        int intGiokt1 = 0;
        int intPhutkt1 = 0;

        int intGiobd2 = 0;
        int intPhutbd2 = 0;
        int intGiokt2 = 0;
        int intPhutkt2 = 0;

        int intGiobd3 = 0;
        int intPhutbd3 = 0;
        int intGiokt3 = 0;
        int intPhutkt3 = 0;        

        int intGiobd = 0;
        int intPhutbd = 0;
        int intGiokt = 0;
        int intPhutkt = 0;

        int intGiostop = 0;
        int intPhutstop = 0;
        int intGioDocduoc = 0;
        int intPhutDocduoc = 0;

        int intGiokygannhat = 0;
        int intPhutkygannhat = 0;

        int intGioTTtu = 0;
        int intPhutTTtu = 0;
        int intGioTTden = 0;
        int intPhutTTden = 0;
        
        double SongayTT = 0;
        double SanluongFullKyTT = 0;

        
        double CHISO_CU = 0;
        double CHISO_MOI = 0;

        double hesocosfi = 0;
        double hesoK = 0;

        DateTime dtimeNgaytao;
        DateTime dtNgayghigannhat;
        DateTime dtNgaydunghoatdong;
        double SogiomatdiencacKy = 0;
        double SogiomatdienTruythu = 0;

        public bool checkDocchiso = false;
        public bool checkDoctgian = false;
        bool checkTinhTT = false;
        int intDongFocus = 0;

        string strNguoiTao = "";
        string strError = "";
        public string strMa_ddo = "";
        public string strMa_khang = "";
        string strSo_cto = "";
        string strMa_cto = "";
        string strBCS = "";
        string strLoai_khang = "";
        string strDCHI_TTOAN = "";
        string strChuoi_tinhtienBT = "";
        string strChuoi_tinhtienCD = "";
        string strChuoi_tinhtienTD = "";
        string strChuoi_tinhtien = "";

        string strBtnClick = "";
        string strSuaThemmoi = "";
        string strFind = "";
        string strMa_ldo = "";
        string strLoaiCSKy10 = "";
        int PhuongphapTT = 0;


        double BT = 0;
        double CD = 0;
        double TD = 0;
        double VC = 0;

        DataSet dsNPC_TRTH_KHANG_Entity;
        DataSet dsNPC_TRTH_CHISO_Entity;
        DataSet dsNPC_TRTH_DDO_Entity;
        DataSet dsKH;
        DataSet dsBD;
        DataSet dsCancu;

        //cls_TienichNPC_bus cls = new cls_TienichNPC_bus();
        //cls_NPC_TRTH_KHANG cls_KHANG = new cls_NPC_TRTH_KHANG();
        //cls_NPC_TRTH_CHISO cls_CHISO = new cls_NPC_TRTH_CHISO();
        //cls_NPC_TRTH_DDO cls_DDO = new cls_NPC_TRTH_DDO();
        //cls_NPC_LOG_ID cls_LOGID = new cls_NPC_LOG_ID();

        #endregion
       
        //DateTime bg = new DateTime(2012,7,15,10,00,00);
        //DateTime end = new DateTime(2012,7,23,9,30,00);


        public TRUYTHU_DTU()
        {
            InitializeComponent();
            Component.TabIndexManager.RegisterTabManager(this);

            dsNPC_TRTH_KHANG_Entity = new BCNPCEntities.TRUY_THU.NPC_TRTH_KHANG();
            dsNPC_TRTH_CHISO_Entity = new BCNPCEntities.TRUY_THU.NPC_TRTH_CHISO();
            dsNPC_TRTH_DDO_Entity = new BCNPCEntities.TRUY_THU.NPC_TRTH_DDO(); 

            btnThemMoi.IsEnabled = true;
            btnSua.IsEnabled = false;
            btnHuy.IsEnabled = false;
            btnGhi.IsEnabled = false;
            btnIn.IsEnabled = false;
            btnXoa.IsEnabled = false;
            btnLayDuLieu_I.IsEnabled = false; 

            rdbThongthuong.IsChecked = true;
            rdbThongthuong.IsEnabled = false;
            rdbBieutong.IsEnabled = false;
            rdbTutinh.IsEnabled = false;
            rdbThoaihoan.IsEnabled = false;

            PhuongphapTT = 0;

            ckbTunhap.IsEnabled = false;
            txtSoky.IsEnabled = false;

            ckbKhongdoc.IsChecked = false;
            //ckbDoctg.IsEnabled = false;
            ckbTunhap.IsChecked = false;
            Enable_Items(false);
            //Enable_ThongtinCancu(false);
            Enable_KyCancu(false, 0);
            ReadOnly_ItemsKetqua();
            txtMa_TT.IsReadOnly = true;
            txtHSN.IsReadOnly = true;
            checkDocchiso = true;
            checkDoctgian = true;
            ckbDaraHD.Visibility = Visibility.Hidden;

        }

        public void set_lydo()
        {
            try
            {
                strMa_ldo = "";
                if (rdbTutinh.IsChecked == false && rdbThoaihoan.IsChecked == false)
                {
                    if (rdbThongthuong.IsChecked == true)
                    {
                        strMa_ldo = "D1";
                    }
                    else
                    {
                        strMa_ldo = "D2";
                    }

                    if (ckbKhongdoc.IsChecked == true)
                    {
                        strMa_ldo = strMa_ldo + "0";
                    }
                    else
                    {
                        if (rdbKD.IsChecked == true)
                        {
                            strMa_ldo = strMa_ldo + "1";
                        }
                        else
                        {
                            strMa_ldo = strMa_ldo + "2";
                        }
                    }

                }
                else
                    if (rdbTutinh.IsChecked == true)
                    {
                        strMa_ldo = "D30";
                    }
                    else
                        if (rdbThoaihoan.IsChecked == true)
                        {
                            strMa_ldo = "DTH";
                        }
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        public void Enable_ThongtinCancu(bool var)
        {
            txtSG1.IsEnabled = var;
            txtSG2.IsEnabled = var;
            txtSG3.IsEnabled = var;
            txtBT1.IsEnabled = var;
            txtBT2.IsEnabled = var;
            txtBT3.IsEnabled = var;
            txtCD1.IsEnabled = var;
            txtCD2.IsEnabled = var;
            txtCD3.IsEnabled = var;
            txtTD1.IsEnabled = var;
            txtTD2.IsEnabled = var;
            txtTD3.IsEnabled = var;
            txtVC1.IsEnabled = var;
            txtVC2.IsEnabled = var;
            txtVC3.IsEnabled = var;
            txtGiobd1.IsEnabled = var;
            txtGiobd2.IsEnabled = var;
            txtGiobd3.IsEnabled = var;
            txtPhutbd1.IsEnabled = var;
            txtPhutbd2.IsEnabled = var;
            txtPhutbd3.IsEnabled = var;
            txtGiokt1.IsEnabled = var;
            txtGiokt2.IsEnabled = var;
            txtGiokt3.IsEnabled = var;
            txtPhutkt1.IsEnabled = var;
            txtPhutkt2.IsEnabled = var;
            txtPhutkt3.IsEnabled = var;
            dtpTungay1.IsEnabled = var;
            dtpTungay2.IsEnabled = var;
            dtpTungay3.IsEnabled = var;
            dtpDenngay1.IsEnabled = var;
            dtpDenngay2.IsEnabled = var;
            dtpDenngay3.IsEnabled = var;
        }

        public void Enable_TheoBieutong(bool var)
        {

            txtSG1.IsEnabled = var;
            txtSG2.IsEnabled = var;
            txtSG3.IsEnabled = var;
            txtVC1.IsEnabled = var;
            txtVC2.IsEnabled = var;
            txtVC3.IsEnabled = var;
            txtGiobd1.IsEnabled = var;
            txtGiobd2.IsEnabled = var;
            txtGiobd3.IsEnabled = var;
            txtPhutbd1.IsEnabled = var;
            txtPhutbd2.IsEnabled = var;
            txtPhutbd3.IsEnabled = var;
            txtGiokt1.IsEnabled = var;
            txtGiokt2.IsEnabled = var;
            txtGiokt3.IsEnabled = var;
            txtPhutkt1.IsEnabled = var;
            txtPhutkt2.IsEnabled = var;
            txtPhutkt3.IsEnabled = var;
            dtpTungay1.IsEnabled = var;
            dtpTungay2.IsEnabled = var;
            dtpTungay3.IsEnabled = var;
            dtpDenngay1.IsEnabled = var;
            dtpDenngay2.IsEnabled = var;
            dtpDenngay3.IsEnabled = var;


            txtSogiomatdienTT_BT.IsEnabled = var;
            txtSogiomatdienTT_CD.IsEnabled = var;
            txtSogiomatdienTT_TD.IsEnabled = var;

            txtSogiomatdiencacKyBT.IsEnabled = var;
            txtSogiomatdiencacKyCD.IsEnabled = var;
            txtSogiomatdiencacKyTD.IsEnabled = var;

            txtSogiomatdienTT_BT.Text = "0";
            txtSogiomatdienTT_CD.Text = "0";
            txtSogiomatdienTT_TD.Text = "0";

            txtSogiomatdiencacKyBT.Text = "0";
            txtSogiomatdiencacKyCD.Text = "0";
            txtSogiomatdiencacKyTD.Text = "0";
 
        }

        public void ReadOnly_ItemsKetqua()
        {           

            txtBTsum.IsReadOnly = true;
            txtCDsum.IsReadOnly = true;
            txtTDsum.IsReadOnly = true;
            txtVCsum.IsReadOnly = true;

            txtChuoigia.IsReadOnly = true;            

            txtBTtien.IsReadOnly = true;
            txtCDtien.IsReadOnly = true;
            txtTDtien.IsReadOnly = true;
            txtVCtien.IsReadOnly = true;
        }

        public void Del_cache()
        {
            /*
            countKy = 0;
            Ky = 0;
            Ky1 = 1;
            Ky2 = 2;
            Ky3 = 3;
            Ky0 = 0;

            sanluongKy1 = 0;
            sanluongKy2 = 0;
            sanluongKy3 = 0;
            sanluongKy = 0;
            SanluongTruythu = 0;

            intSongayKy1 = 0;
            intSongayKy2 = 0;
            intSongayKy3 = 0;

            intID_TRTH = 0;
            nextSEQChiso = 0;
            ID_CHISO = 0;
            Chisogannhat = 0;
            Chisothao = 0;
            sogiomatdienTT = 0;
            sogiomatdienKy = 0;

            SanluongTB = 0;
            TongsongaycacKy = 0;
            TongsanluongcacKy = 0;
            SanluongDocduoc = 0;
            SongayTT = 0;
            SanluongFullKyTT = 0;

            Id_chisoKy1 = 0;
            Id_chisoKy2 = 0;
            Id_chisoKy3 = 0;
            Id_chisoKy0 = 0;

            CHISO_CU = 0;
            CHISO_MOI = 0;
            */
        }

        private bool Del_Data_Inserted(Int64 ID_TRTH)
        {
            try
            {
                bool checkDEL = false;

                checkDEL = GlobalServices.Service_Truythu.delete_NPC_TRTH_KHANG_by_IDTRTH(strMa_dviqly, ID_TRTH, ref strError);
                checkDEL = GlobalServices.Service_Truythu.delete_NPC_TRTH_CHISO_by_IDTRTH(strMa_dviqly, ID_TRTH, ref strError);
                checkDEL = GlobalServices.Service_Truythu.delete_NPC_TRTH_DDO_by_IDTRTH(strMa_dviqly, ID_TRTH, ref strError);
                return checkDEL;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                return false;
            }

        }

        public bool check_values_Ky()
        {
            if (dtpTungay1.SelectedDate.HasValue && dtpDenngay1.SelectedDate.HasValue)
            {
                if (dtpTungay1.SelectedDate.Value.Date > dtpDenngay1.SelectedDate.Value.Date)
                {
                    MessageBox.Show("Kỳ I: ngày cuối kỳ lớn hơn đầu kỳ! ");
                    return false;
                }
            }

            if (dtpTungay2.SelectedDate.HasValue && dtpDenngay2.SelectedDate.HasValue)
            {
                if (dtpTungay2.SelectedDate.Value.Date > dtpDenngay2.SelectedDate.Value.Date)
                {
                    MessageBox.Show("Kỳ II: ngày cuối kỳ lớn hơn đầu kỳ! ");
                    return false;
                }
            }

            if (dtpTungay3.SelectedDate.HasValue && dtpDenngay3.SelectedDate.HasValue)
            {
                if (dtpTungay3.SelectedDate.Value.Date > dtpDenngay3.SelectedDate.Value.Date)
                {
                    MessageBox.Show("Kỳ III: ngày cuối kỳ lớn hơn đầu kỳ! ");
                    return false;
                }
            }

            if (ckbKhongdoc.IsChecked == false)
            {
                if (ckbKoDoctg.IsChecked == false)
                {
                    DateTime doc = new DateTime(dtpDenngayct.SelectedDate.Value.Date.Year, dtpDenngayct.SelectedDate.Value.Date.Month, dtpDenngayct.SelectedDate.Value.Date.Day, Convert.ToInt32(txtGioktct.Text.ToString()), Convert.ToInt32(txtPhutktct.Text.ToString()), 00);
                    DateTime stop = new DateTime(dtpNgaystop.SelectedDate.Value.Date.Year, dtpNgaystop.SelectedDate.Value.Date.Month, dtpNgaystop.SelectedDate.Value.Date.Day, Convert.ToInt32(txtGiostop.Text.ToString()), Convert.ToInt32(txtPhutstop.Text.ToString()), 00);
                    TimeSpan ts = stop - doc;
                    if (ts.TotalHours < 0)
                    {
                        MessageBox.Show("Ngày dừng cấp điện nhỏ hơn ngày đọc được chỉ số, hãy nhập lại !");
                        txtGiostop.Focus();
                        return false;
                    }
                }
            }
            

            return true;
        }

        public bool check_Input_Items()
        {
            decimal dc = 0;
            Int32 intt = 0;

            if (txtMa_ddo_I.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Mã điểm đo trống !");
                txtMa_ddo_I.Focus();
                return false;
            }

            if (txtTen_khang.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập tên khách hàng ");
                txtTen_khang.Focus();
                return false;
            }

            if (txtDia_chi.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập địa chỉ khách hàng !");
                txtDia_chi.Focus();
                return false;
            }

            if (txtLoai_cto.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập loại công tơ !");
                txtLoai_cto.Focus();
                return false;
            }

            if (txtSo_Cto.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập số công tơ !");
                txtSo_Cto.Focus();
                return false;
            }

            if (txtMa_cto.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập Mã công tơ !");
                txtMa_cto.Focus();
                return false;
            }

            if (!decimal.TryParse(txtHSN.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập hệ số nhân !");
                txtHSN.Focus();
                return false;
            }
            else
            {
                if (Convert.ToDecimal(txtHSN.Text.Trim()) <= 0)
                {
                    MessageBox.Show("Hệ số nhân phải lớn hơn 0");
                    txtHSN.Focus();
                    return false;
                }
            }

            if (txtDai_dien_mua1.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập đại diện bên mua");
                txtDai_dien_mua1.Focus();
                return false;
            }

            if (txtChucvu_mua1.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập chức vụ của đại diện bên mua");
                txtChucvu_mua1.Focus();
                return false;
            }

            //if (txtMa_TT.Text.Trim().ToString() == string.Empty)
            //{
            //    MessageBox.Show("Không có mã truy thu !");
            //    return false;
            //}

            if (txtHoten1.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập họ tên đại diện bên bán điện !");
                txtHoten1.Focus();
                return false;
            }

            if (txtChucvu1.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập chức vụ của đại diện bên bán ");
                txtChucvu1.Focus();
                return false;
            }

            if (txtNguyennhan.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập nguyên nhân !");
                txtNguyennhan.Focus();
                return false;
            }

            //if (dtpNgayKdinh.Text.ToString() == string.Empty)
            //{
            //    MessageBox.Show("Hãy nhập ngày kiểm định !");
            //    return false;
            //}

            //if (txtSobbkd.Text.Trim().ToString() == string.Empty)
            //{
            //    MessageBox.Show("Hãy nhập số biên bản kiểm định");
            //    txtSobbkd.Focus();
            //    return false;
            //}

            if (!dtpKiemtra.SelectedDate.HasValue)
            {
                MessageBox.Show("Hãy nhập ngày kiểm tra");
                return false;
            }

            if (txtSobbktra.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập số biên bản kiểm tra");
                txtSobbktra.Focus();
                return false;
            }

            if (!dtpThangNamTT.SelectedDate.HasValue)
            {
                MessageBox.Show("Hãy nhập tháng năm phát hành hóa đơn truythu/thoái hoàn !");
                return false;
            }

            if (dtpThangNamTT.SelectedDate.Value.Date.Month < dtpKiemtra.SelectedDate.Value.Date.Month)
            {
                MessageBox.Show("Tháng phát hành hóa đơn truy thu phải bằng hoặc sau tháng phát hiện sự cố !");
                return false;
            }

            if (!Int32.TryParse(txtGiostop.Text.Trim(), out intt))
            {
                MessageBox.Show("Hãy nhập giờ ngừng cấp điện !");
                txtGiostop.Focus();
                return false;
            }
            else
            {
                if (checkGio(txtGiostop) == false)
                { return false; }
            }

            if (!Int32.TryParse(txtPhutstop.Text.Trim(), out intt))
            {
                MessageBox.Show("Hãy nhập phút ngừng cấp điện !");
                txtPhutstop.Focus();
                return false;
            }
            else
            {
                if (checkPhut(txtPhutstop) == false)
                { return false; }
            }

            if (dtpNgaystop.Text.ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập ngày ngừng cấp điện !");
                return false;
            }
            
            
            if (!decimal.TryParse(txtSogiomatdiencacKyBT.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập số giờ mất điện trong các kỳ căn cứ của bộ chỉ số BT !");
                txtSogiomatdiencacKyBT.Focus();
                return false;
            }
            if (!decimal.TryParse(txtSogiomatdiencacKyCD.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập số giờ mất điện trong các kỳ căn cứ của bộ chỉ số CD !");
                txtSogiomatdiencacKyCD.Focus();
                return false;
            }
            if (!decimal.TryParse(txtSogiomatdiencacKyTD.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập số giờ mất điện trong các kỳ căn cứ của bộ chỉ số TD !");
                txtSogiomatdiencacKyTD.Focus();
                return false;
            }

            if (!decimal.TryParse(txtSogiomatdienTT_BT.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập số giờ mất điện trong kỳ truy thu của bộ chỉ số BT !");
                txtSogiomatdienTT_BT.Focus();
                return false;
            }
            if (!decimal.TryParse(txtSogiomatdienTT_CD.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập số giờ mất điện trong kỳ truy thu của bộ chỉ số CD !");
                txtSogiomatdienTT_CD.Focus();
                return false;
            }
            if (!decimal.TryParse(txtSogiomatdienTT_TD.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập số giờ mất điện trong kỳ truy thu của bộ chỉ số TD !");
                txtSogiomatdienTT_TD.Focus();
                return false;
            }

            if (!decimal.TryParse(txtSGgn.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập chỉ số gần nhất của bộ chỉ số SG !");
                txtSGgn.Focus();
                return false;
            }
            if (!decimal.TryParse(txtBTgn.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập chỉ số gần nhất của bộ chỉ số BT !");
                txtBTgn.Focus();
                return false;
            }
            if (!decimal.TryParse(txtCDgn.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập chỉ số gần nhất của bộ chỉ số CD !");
                txtCDgn.Focus();
                return false;
            }
            if (!decimal.TryParse(txtTDgn.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập chỉ số gần nhất của bộ chỉ số TD !");
                txtTDgn.Focus();
                return false;
            }
            if (!decimal.TryParse(txtVCgn.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập chỉ số gần nhất của bộ chỉ số VC !");
                txtVCgn.Focus();
                return false;
            }
            if (!Int32.TryParse(txtGioghign.Text.Trim().ToString(), out intt))
            {
                MessageBox.Show("Hãy nhập giờ gần nhất !");
                txtGioghign.Focus();
                return false;
            }
            else
            {
                if (checkGio(txtGioghign) == false)
                { return false; }
            }

            if (!Int32.TryParse(txtPhutghign.Text.Trim().ToString(), out intt))
            {
                MessageBox.Show("Hãy nhập phút gần nhất !");
                txtPhutghign.Focus();
                return false;
            }
            else
            {
                if(checkPhut(txtPhutghign) == false)
                { return false; }
            }

            if (ckbKhongdoc.IsChecked == false)
            {
                if (rdbBieutong.IsChecked == true)
                {
                    if (!decimal.TryParse(txtSGct.Text.Trim().ToString(), out dc))
                    {
                        MessageBox.Show("Hãy nhập chỉ số của bộ SG !");
                        txtSGct.Focus();
                        return false;
                    }
                }
                else
                {
                    if (!decimal.TryParse(txtSGct.Text.Trim().ToString(), out dc))
                    {
                        MessageBox.Show("Hãy nhập chỉ số của bộ SG !");
                        txtSGct.Focus();
                        return false;
                    }

                    if (!decimal.TryParse(txtBTct.Text.Trim().ToString(), out dc))
                    {
                        MessageBox.Show("Hãy nhập chỉ số của bộ BT !");
                        txtBTct.Focus();
                        return false;
                    }

                    if (!decimal.TryParse(txtCDct.Text.Trim().ToString(), out dc))
                    {
                        MessageBox.Show("Hãy nhập chỉ số của bộ CD !");
                        txtCDct.Focus();
                        return false;
                    }

                    if (!decimal.TryParse(txtTDct.Text.Trim().ToString(), out dc))
                    {
                        MessageBox.Show("Hãy nhập chỉ số của bộ TD !");
                        txtTDct.Focus();
                        return false;
                    }

                    if (!decimal.TryParse(txtVCct.Text.Trim().ToString(), out dc))
                    {
                        MessageBox.Show("Hãy nhập chỉ số của bộ VC !");
                        txtVCct.Focus();
                        return false;
                    }
                }

                if (ckbKoDoctg.IsChecked == false) // đọc được thời gian từ công tơ
                {
                    if (!Int32.TryParse(txtGioktct.Text.Trim().ToString(), out intt))
                    {
                        MessageBox.Show("Hãy nhập giờ đọc được chỉ số !");
                        txtGioktct.Focus();
                        return false;
                    }
                    else
                    {
                        if (checkGio(txtGioktct) == false)
                        {
                            return false;
                        }
                    }

                    if (!Int32.TryParse(txtPhutktct.Text.Trim().ToString(), out intt))
                    {
                        MessageBox.Show("Hãy nhập phút đọc được chỉ số !");
                        txtPhutktct.Focus();
                        return false;
                    }
                    else
                    {
                        if (checkPhut(txtPhutktct) == false)
                        { return false; }
                    }

                    if (dtpDenngayct.Text.ToString() == string.Empty)
                    {
                        MessageBox.Show("Hãy nhập ngày đọc được chỉ số !");
                        return false;
                    }
                }

                //if (dtpNgayKdinh.Text.ToString() == string.Empty)
                //{
                //    MessageBox.Show("Hãy nhập ngày kiểm định !");
                //    return false;
                //}

            }

            // kiểm tra kỳ căn cứ thứ 1
            if (countKy >= 1)
            {
                if (!decimal.TryParse(txtSG1.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng biểu tổng kỳ I !");
                    txtSG1.Focus();
                    return false;
                }

                if (!decimal.TryParse(txtBT1.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng biểu 1 kỳ I !");
                    txtBT1.Focus();
                    return false;
                }

                if (!decimal.TryParse(txtCD1.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng biểu 2 kỳ I !");
                    txtCD1.Focus();
                    return false;
                }

                if (!decimal.TryParse(txtTD1.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng biểu 3 kỳ I !");
                    txtTD1.Focus();
                    return false;
                }

                if (!decimal.TryParse(txtVC1.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng vô công kỳ I !");
                    txtVC1.Focus();
                    return false;
                }

                if (!Int32.TryParse(txtGiobd1.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập giờ bắt đầu kỳ I !");
                    txtGiobd1.Focus();
                    return false;
                }
                else
                {
                    if (checkGio(txtGiobd1) == false)
                    { return false; }
                }

                if (!Int32.TryParse(txtPhutbd1.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập phút bắt đầu kỳ I !");
                    txtPhutbd1.Focus();
                    return false;
                }
                else
                {
                    if (checkPhut(txtPhutbd1) == false)
                    { return false; }
                }

                if (!dtpTungay1.SelectedDate.HasValue)
                {
                    MessageBox.Show("Hãy nhập ngày bắt đầu kỳ I !");                    
                    return false;
                }

                if (!Int32.TryParse(txtGiokt1.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập giờ kết thúc kỳ I");
                    txtGiokt1.Focus();
                    return false;
                }
                else
                {
                    if (checkGio(txtGiokt1) == false)
                    { return false; }
                }

                if (!Int32.TryParse(txtPhutkt1.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập phút kết thúc kỳ I");
                    txtPhutkt1.Focus();
                    return false;
                }
                else
                {
                    if (checkPhut(txtPhutkt1) == false)
                    { return false; }
                }

                if (!dtpDenngay1.SelectedDate.HasValue)
                {
                    MessageBox.Show("Hãy nhập ngày kết thúc kỳ I");
                    return false;
                }
                
            }

            // kiểm tra kỳ căn cứ thứ 2
            if (countKy >= 2)
            {
                if (!decimal.TryParse(txtSG2.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng biểu tổng kỳ II !");
                    txtSG2.Focus();
                    return false;
                }

                if (!decimal.TryParse(txtBT2.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng biểu 2 kỳ II !");
                    txtBT2.Focus();
                    return false;
                }

                if (!decimal.TryParse(txtCD2.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng biểu 2 kỳ II !");
                    txtCD2.Focus();
                    return false;
                }

                if (!decimal.TryParse(txtTD2.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng biểu 3 kỳ II !");
                    txtTD2.Focus();
                    return false;
                }

                if (!decimal.TryParse(txtVC2.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng vô công kỳ II !");
                    txtVC2.Focus();
                    return false;
                }

                if (!Int32.TryParse(txtGiobd2.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập giờ bắt đầu kỳ II !");
                    txtGiobd2.Focus();
                    return false;
                }
                else
                {
                    if (checkGio(txtGiobd2) == false)
                    { return false; }
                }

                if (!Int32.TryParse(txtPhutbd2.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập phút bắt đầu kỳ II !");
                    txtPhutbd2.Focus();
                    return false;
                }
                else
                {
                    if (checkPhut(txtPhutbd2) == false)
                    { return false; }
                }

                if (!dtpTungay2.SelectedDate.HasValue)
                {
                    MessageBox.Show("Hãy nhập ngày bắt đầu kỳ II !");
                    return false;
                }

                if (!Int32.TryParse(txtGiokt2.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập giờ kết thúc kỳ II !");
                    txtGiokt2.Focus();
                    return false;
                }
                else
                {
                    if (checkGio(txtGiokt2) == false)
                    { return false; }
                }

                if (!Int32.TryParse(txtPhutkt2.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập phút kết thúc kỳ II !");
                    txtPhutkt2.Focus();
                    return false;
                }
                else
                {
                    if (checkPhut(txtPhutkt2) == false)
                    { return false; }
                }

                if (!dtpDenngay2.SelectedDate.HasValue)
                {
                    MessageBox.Show("Hãy nhập ngày kết thúc kỳ II !");
                    return false;
                }

            }

            // kiểm tra kỳ căn cứ thứ 3
            if (countKy >= 3)
            {
                if (!decimal.TryParse(txtSG3.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng biểu tổng kỳ III !");
                    txtSG3.Focus();
                    return false;
                }

                if (!decimal.TryParse(txtBT3.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng biểu 3 kỳ III !");
                    txtBT3.Focus();
                    return false;
                }

                if (!decimal.TryParse(txtCD3.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng biểu 2 kỳ III !");
                    txtCD3.Focus();
                    return false;
                }

                if (!decimal.TryParse(txtTD3.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng biểu 3 kỳ III !");
                    txtTD3.Focus();
                    return false;
                }

                if (!decimal.TryParse(txtVC3.Text.Trim(), out dc))
                {
                    MessageBox.Show("Hãy nhập sản lượng vô công kỳ III !");
                    txtVC3.Focus();
                    return false;
                }

                if (!Int32.TryParse(txtGiobd3.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập giờ bắt đầu kỳ III !");
                    txtGiobd3.Focus();
                    return false;
                }
                else
                {
                    if (checkGio(txtGiobd3) == false)
                    { return false; }
                }

                if (!Int32.TryParse(txtPhutbd3.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập phút bắt đầu kỳ III !");
                    txtPhutbd3.Focus();
                    return false;
                }
                else
                {
                    if (checkPhut(txtPhutbd3) == false)
                    { return false; }
                }

                if (!dtpTungay3.SelectedDate.HasValue)
                {
                    MessageBox.Show("Hãy nhập ngày bắt đầu kỳ III !");
                    return false;
                }

                if (!Int32.TryParse(txtGiokt3.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập giờ kết thúc kỳ III");
                    txtGiokt3.Focus();
                    return false;
                }
                else
                {
                    if (checkGio(txtGiokt3) == false)
                    { return false; }
                }

                if (!Int32.TryParse(txtPhutkt3.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập phút kết thúc kỳ III");
                    txtPhutkt3.Focus();
                    return false;
                }
                else
                {
                    if (checkPhut(txtPhutkt3) == false)
                    { return false; }
                }

                if (!dtpDenngay3.SelectedDate.HasValue)
                {
                    MessageBox.Show("Hãy nhập ngày kết thúc kỳ III");
                    return false;
                }               
                    

            }


            return true;
        }

        public bool check_Input_Tutinh()
        {
            decimal dc = 0;
            Int32 intt = 0;

            if (txtMa_ddo_I.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Mã điểm đo trống !");
                txtMa_ddo_I.Focus();
                return false;
            }

            if (txtTen_khang.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập tên khách hàng ");
                txtTen_khang.Focus();
                return false;
            }

            if (txtDia_chi.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập địa chỉ khách hàng !");
                txtDia_chi.Focus();
                return false;
            }

            if (txtLoai_cto.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập loại công tơ !");
                txtLoai_cto.Focus();
                return false;
            }

            if (txtSo_Cto.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập số công tơ !");
                txtSo_Cto.Focus();
                return false;
            }

            if (txtMa_cto.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập Mã công tơ !");
                txtMa_cto.Focus();
                return false;
            }

            if (rdbTutinh.IsChecked == false)
            {
                if (!decimal.TryParse(txtHSN.Text.Trim().ToString(), out dc))
                {
                    MessageBox.Show("Hãy nhập hệ số nhân !");
                    txtHSN.Focus();
                    return false;
                }
                else
                {
                    if (Convert.ToDecimal(txtHSN.Text.Trim()) <= 0)
                    {
                        MessageBox.Show("Hệ số nhân phải lớn hơn 0");
                        txtHSN.Focus();
                        return false;
                    }
                }
            }

            if (txtDai_dien_mua1.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập đại diện bên mua");
                txtDai_dien_mua1.Focus();
                return false;
            }

            if (txtChucvu_mua1.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập chức vụ của đại diện bên mua");
                txtChucvu_mua1.Focus();
                return false;
            }

            //if (txtMa_TT.Text.Trim().ToString() == string.Empty)
            //{
            //    MessageBox.Show("Không có mã truy thu !");
            //    return false;
            //}

            if (txtHoten1.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập họ tên đại diện bên bán điện !");
                txtHoten1.Focus();
                return false;
            }

            if (txtChucvu1.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập chức vụ của đại diện bên bán ");
                txtChucvu1.Focus();
                return false;
            }

            if (txtNguyennhan.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập nguyên nhân !");
                txtNguyennhan.Focus();
                return false;
            }

            //if (dtpNgayKdinh.Text.ToString() == string.Empty)
            //{
            //    MessageBox.Show("Hãy nhập ngày kiểm định !");
            //    return false;
            //}

            //if (txtSobbkd.Text.Trim().ToString() == string.Empty)
            //{
            //    MessageBox.Show("Hãy nhập số biên bản kiểm định !");
            //    txtSobbkd.Focus();
            //    return false;
            //}

            if (!dtpKiemtra.SelectedDate.HasValue)
            {
                MessageBox.Show("Hãy nhập ngày kiểm tra !");
                return false;
            }

            if (txtSobbktra.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập số biên bản kiểm tra !");
                return false;
            }

            if (!dtpThangNamTT.SelectedDate.HasValue)
            {
                MessageBox.Show("Hãy nhập tháng năm phát hành hóa đơn truythu/thoái hoàn !");
                return false;
            }

            if (dtpThangNamTT.SelectedDate.Value.Date.Month < dtpKiemtra.SelectedDate.Value.Date.Month)
            {
                MessageBox.Show("Tháng phát hành hóa đơn truy thu phải bằng hoặc sau tháng phát hiện sự cố !");
                return false;
            }

            if (!Int32.TryParse(txtGiostop.Text.Trim(), out intt))
            {
                MessageBox.Show("Hãy nhập giờ ngừng cấp điện !");
                txtGiostop.Focus();
                return false;
            }
            else
            {
                if (checkGio(txtGiostop) == false)
                { return false; }
            }

            if (!Int32.TryParse(txtPhutstop.Text.Trim(), out intt))
            {
                MessageBox.Show("Hãy nhập phút ngừng cấp điện !");
                txtPhutstop.Focus();
                return false;
            }
            else
            {
                if (checkPhut(txtPhutstop) == false)
                { return false; }
            }

            if (dtpNgaystop.Text.ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập ngày ngừng cấp điện !");
                return false;
            }



            //kiểm tra nhập liệu tự tính
            if (!dtpNgaythoathuan.SelectedDate.HasValue)
            {
                MessageBox.Show("Hãy nhập ngày của Biên bản thỏa thuận !");
                return false;
            }

            if (txtSobbTThuan.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập số biên bản thỏa thuận !");
                txtSobbTThuan.Focus();
                return false;
            }
            
            if (!decimal.TryParse(txtSLBTtt.Text.Trim(), out dc))
            {
                MessageBox.Show("Hãy nhập sản lượng truy thu Bình thường tự tính !");
                txtSLBTtt.Focus();
                return false;
            }

            if (!decimal.TryParse(txtSLCDtt.Text.Trim(), out dc))
            {
                MessageBox.Show("Hãy nhập sản lượng Cao điểm tự tính !");
                txtSLCDtt.Focus();
                return false;
            }

            if (!decimal.TryParse(txtSLTDtt.Text.Trim(), out dc))
            {
                MessageBox.Show("Hãy nhập sản lượng Thấp điểm tự tính !");
                txtSLTDtt.Focus();
                return false;
            }

            if (!decimal.TryParse(txtTienBTtt.Text.Trim(), out dc))
            {
                MessageBox.Show("Hãy nhập tiền truy thu giờ Bình thường tự tính (chưa tính thuế) !");
                txtTienBTtt.Focus();
                return false;
            }

            if (!decimal.TryParse(txtTienCDtt.Text.Trim(), out dc))
            {
                MessageBox.Show("Hãy nhập tiền truy thu giờ Cao điểm tự tính (chưa tính thuế) !");
                txtTienCDtt.Focus();
                return false;
            }

            if (!decimal.TryParse(txtTienTDtt.Text.Trim(), out dc))
            {
                MessageBox.Show("Hãy nhập tiền truy thu giờ Thấp điểm tự tính (chưa tính thuế) !");
                txtTienTDtt.Focus();
                return false;
            }

            return true;
            
        }

        public bool check_Input_Thoaihoan()
        {
            decimal dc = 0;
            Int32 intt = 0;

            if (txtMa_ddo_I.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Mã điểm đo trống !");
                txtMa_ddo_I.Focus();
                return false;
            }

            if (txtTen_khang.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập tên khách hàng ");
                txtTen_khang.Focus();
                return false;
            }

            if (txtDia_chi.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập địa chỉ khách hàng !");
                txtDia_chi.Focus();
                return false;
            }

            if (txtLoai_cto.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập loại công tơ !");
                txtLoai_cto.Focus();
                return false;
            }

            if (txtSo_Cto.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập số công tơ !");
                txtSo_Cto.Focus();
                return false;
            }

            if (txtMa_cto.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập Mã công tơ !");
                txtMa_cto.Focus();
                return false;
            }
            

            if (txtDai_dien_mua1.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập đại diện bên mua");
                txtDai_dien_mua1.Focus();
                return false;
            }

            if (txtChucvu_mua1.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập chức vụ của đại diện bên mua");
                txtChucvu_mua1.Focus();
                return false;
            }

            //if (txtMa_TT.Text.Trim().ToString() == string.Empty)
            //{
            //    MessageBox.Show("Không có mã truy thu !");
            //    return false;
            //}

            if (txtHoten1.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập họ tên đại diện bên bán điện !");
                txtHoten1.Focus();
                return false;
            }

            if (txtChucvu1.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập chức vụ của đại diện bên bán ");
                txtChucvu1.Focus();
                return false;
            }

            if (txtNguyennhan.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập nguyên nhân !");
                txtNguyennhan.Focus();
                return false;
            }

            if (dtpNgayKdinh.Text.ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập ngày kiểm định !");
                return false;
            }

            if (txtSobbkd.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập số biên bản kiểm định !");
                txtSobbkd.Focus();
                return false;
            }

            if (!dtpKiemtra.SelectedDate.HasValue)
            {
                MessageBox.Show("Hãy nhập ngày kiểm tra !");
                return false;
            }

            if (txtSobbktra.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập số biên bản kiểm tra !");
                return false;
            }

            if (!dtpThangNamTT.SelectedDate.HasValue)
            {
                MessageBox.Show("Hãy nhập tháng năm phát hành hóa đơn truythu/thoái hoàn !");
                return false;
            }

            if (dtpThangNamTT.SelectedDate.Value.Date.Month < dtpKiemtra.SelectedDate.Value.Date.Month)
            {
                MessageBox.Show("Tháng phát hành hóa đơn truy thu phải bằng hoặc sau tháng phát hiện sự cố !");
                return false;
            }

            if (!Int32.TryParse(txtGiostop.Text.Trim(), out intt))
            {
                MessageBox.Show("Hãy nhập giờ ngừng cấp điện !");
                txtGiostop.Focus();
                return false;
            }
            else
            {
                if (checkGio(txtGiostop) == false)
                { return false; }
            }

            if (!Int32.TryParse(txtPhutstop.Text.Trim(), out intt))
            {
                MessageBox.Show("Hãy nhập phút ngừng cấp điện !");
                txtPhutstop.Focus();
                return false;
            }
            else
            {
                if (checkPhut(txtPhutstop) == false)
                { return false; }
            }

            if (dtpNgaystop.Text.ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập ngày ngừng cấp điện !");
                return false;
            }



            //kiểm tra nhập liệu thoái hoàn
            if (txtSokyCancuTH.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập số chu kỳ liền kề làm căn cứ !");
                txtSokyCancuTH.Focus();
                return false;
            }

            if (!dtpTungayCancuTH.SelectedDate.HasValue)
            {
                MessageBox.Show("Hãy nhập ngày bắt đầu làm căn cứ !");
                return false;
            }

            if (!dtpDenngayCancuTH.SelectedDate.HasValue)
            {
                MessageBox.Show("Hãy nhập ngày kết thúc căn cứ !");
                return false;
            }

            if (dtpTungayCancuTH.SelectedDate.Value.Date >= dtpDenngayCancuTH.SelectedDate.Value.Date)
            {
                MessageBox.Show("Ngày bắt đầu làm căn cứ phải nhỏ hơn ngày kết thúc căn cứ !");
                return false;
            }

            if (txtSaiso.Text.Trim().ToString() == string.Empty)
            {
                MessageBox.Show("Hãy nhập phần trăm sai số !");
                txtSaiso.Focus();
                return false;
            }

            if (!decimal.TryParse(txtSaiso.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập lại phần trăm sai số !");
                txtSaiso.Focus();
                return false;
            }

            if (!decimal.TryParse(txtBT_TH.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập chỉ số tháo BT !");
                txtBT_TH.Focus();
                return false;
            }

            if (!decimal.TryParse(txtCD_TH.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập chỉ số tháo CD !");
                txtCD_TH.Focus();
                return false;
            }

            if (!decimal.TryParse(txtTD_TH.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập chỉ số tháo TD !");
                txtTD_TH.Focus();
                return false;
            }


            if (!decimal.TryParse(txtTienTH.Text.Trim().ToString(), out dc))
            {
                MessageBox.Show("Hãy nhập số tiền thoái hoàn !");
                txtTienTH.Focus();
                return false;
            }

            return true;

        }

        public bool checkPhut(TextBox tb)
        {
            Int32 intt = Convert.ToInt32(tb.Text.Trim());

            if (intt < 0 || intt > 59)
            {
                MessageBox.Show("Phút phải nhập từ 0 - 59");
                tb.Focus();
                return false;
            }
            else
                return true;
        }

        public bool checkGio(TextBox tb)
        {
            Int32 intt = Convert.ToInt32(tb.Text.Trim());

            if (intt < 0 || intt > 23)
            {
                MessageBox.Show("Giờ phải nhập từ 0 - 23");
                tb.Focus();
                return false;
            }
            else
                return true;

        }

        public void Enable_Items(bool var)
        {
            txtMa_ddo_I.IsEnabled = var;  
            txtTen_khang.IsEnabled = var;
            txtDia_chi.IsEnabled = var;
            txtLoai_cto.IsEnabled = var;
            txtSo_Cto.IsEnabled = var;
            txtMa_cto.IsEnabled = var;
            txtHSN.IsEnabled = var;

            txtHoten1.IsEnabled = var;
            txtHoten2.IsEnabled = var;
            txtHoten3.IsEnabled = var;
            txtChucvu1.IsEnabled = var;
            txtChucvu2.IsEnabled = var;
            txtChucvu3.IsEnabled = var;

            txtDai_dien_mua1.IsEnabled = var;
            txtDai_dien_mua2.IsEnabled = var;
            txtChucvu_mua1.IsEnabled = var;
            txtChucvu_mua2.IsEnabled = var;

            
            txtGiostop.IsEnabled = var;
            txtPhutstop.IsEnabled = var;
            dtpNgaystop.IsEnabled = var;
            txtNguyennhan.IsEnabled = var;
            dtpNgayKdinh.IsEnabled = var;
            txtSobbkd.IsEnabled = var;
            dtpKiemtra.IsEnabled = var;
            txtSobbktra.IsEnabled = var;
            dtpThangNamTT.IsEnabled = var;
            cboLOAI_SUCO.IsEnabled = var;

            //txtSG1.IsEnabled = var;
            //txtSG2.IsEnabled = var;
            //txtSG3.IsEnabled = var;
            //txtBT1.IsEnabled = var;
            //txtBT2.IsEnabled = var;
            //txtBT3.IsEnabled = var;
            //txtCD1.IsEnabled = var;
            //txtCD2.IsEnabled = var;
            //txtCD3.IsEnabled = var;
            //txtTD1.IsEnabled = var;
            //txtTD2.IsEnabled = var;
            //txtTD3.IsEnabled = var;
            //txtVC1.IsEnabled = var;
            //txtVC2.IsEnabled = var;
            //txtVC3.IsEnabled = var;
            //txtGiobd1.IsEnabled = var;
            //txtGiobd2.IsEnabled = var;
            //txtGiobd3.IsEnabled = var;
            //txtPhutbd1.IsEnabled = var;
            //txtPhutbd2.IsEnabled = var;
            //txtPhutbd3.IsEnabled = var;
            //txtGiokt1.IsEnabled = var;
            //txtGiokt2.IsEnabled = var;
            //txtGiokt3.IsEnabled = var;
            //txtPhutkt1.IsEnabled = var;
            //txtPhutkt2.IsEnabled = var;
            //txtPhutkt3.IsEnabled = var;            

            

            if (var == true)
            {
                if (rdbTutinh.IsChecked == false && rdbThoaihoan.IsChecked == false)
                {
                    if (ckbKhongdoc.IsChecked == true)
                    {
                        txtSGct.IsEnabled = false;
                        txtBTct.IsEnabled = false;
                        txtCDct.IsEnabled = false;
                        txtTDct.IsEnabled = false;
                        txtVCct.IsEnabled = false;
                        txtGioktct.IsEnabled = false;
                        txtPhutktct.IsEnabled = false;
                        dtpDenngayct.IsEnabled = false;
                        ckbKoDoctg.IsEnabled = false;
                    }
                    else
                    {
                        txtSGct.IsEnabled = true;
                        txtBTct.IsEnabled = true;
                        txtCDct.IsEnabled = true;
                        txtTDct.IsEnabled = true;
                        txtVCct.IsEnabled = true;

                        ckbKoDoctg.IsEnabled = true;
                        if (ckbKoDoctg.IsChecked == true)
                        {
                            txtGioktct.IsEnabled = false;
                            txtPhutktct.IsEnabled = false;
                            dtpDenngayct.IsEnabled = false;
                        }
                        else
                        {
                            txtGioktct.IsEnabled = true;
                            txtPhutktct.IsEnabled = true;
                            dtpDenngayct.IsEnabled = true;
                        }
                    }
                }
            }
            else
            {
                txtSGct.IsEnabled = var;
                txtBTct.IsEnabled = var;
                txtCDct.IsEnabled = var;
                txtTDct.IsEnabled = var;
                txtVCct.IsEnabled = var;
                txtGioktct.IsEnabled = var;
                txtPhutktct.IsEnabled = var;
                dtpDenngayct.IsEnabled = var;
                ckbKoDoctg.IsEnabled = var;

                txtSLBTtt.IsEnabled = var;
                txtSLCDtt.IsEnabled = var;
                txtSLTDtt.IsEnabled = var;

                txtTienBTtt.IsEnabled = var;
                txtTienCDtt.IsEnabled = var;
                txtTienTDtt.IsEnabled = var;

                txtSobbTThuan.IsEnabled = var;
                dtpNgaythoathuan.IsEnabled = var;

                txtSokyCancuTH.IsEnabled = var;
                dtpTungayCancuTH.IsEnabled = var;
                dtpDenngayCancuTH.IsEnabled = var;
                txtSaiso.IsEnabled = var;
                txtTienTH.IsEnabled = var;
                txtBT_TH.IsEnabled = var;
                txtCD_TH.IsEnabled = var;
                txtTD_TH.IsEnabled = var;
            }

            txtSogiomatdienTT_BT.IsEnabled = var;
            txtSogiomatdienTT_CD.IsEnabled = var;
            txtSogiomatdienTT_TD.IsEnabled = var;

            txtBTgn.IsEnabled = var;
            txtCDgn.IsEnabled = var;
            txtTDgn.IsEnabled = var;
            txtSGgn.IsEnabled = var;
            txtVCgn.IsEnabled = var;
            txtGioghign.IsEnabled = var;
            txtPhutghign.IsEnabled = var;
            dtpNgayghign.IsEnabled = var;

            ckbKhongdoc.IsEnabled = var;
            

            if (var == true)
            {
                if (strBtnClick == "btnThemMoi")
                {
                    rdbThongthuong.IsEnabled = true;
                    rdbBieutong.IsEnabled = true;
                    rdbTutinh.IsEnabled = true;
                    rdbThoaihoan.IsEnabled = true;
                    btnLayCancu.IsEnabled = var;

                    if (ckbTunhap.IsChecked == true)
                    {
                        txtSoky.IsEnabled = true;
                    }
                    else
                    {
                        txtSoky.IsEnabled = false;
                    }
                }
                else
                {
                    ckbTunhap.IsEnabled = false; 
                    txtSoky.IsEnabled = false;
                    btnLayCancu.IsEnabled = false;

                    rdbThongthuong.IsEnabled = false;
                    rdbBieutong.IsEnabled = false;
                    rdbTutinh.IsEnabled = false;
                    rdbThoaihoan.IsEnabled = false;
                }
            }
            else
            {
                ckbTunhap.IsEnabled = false;
                txtSoky.IsEnabled = false;

                rdbThongthuong.IsEnabled = false;
                rdbBieutong.IsEnabled = false;
                rdbTutinh.IsEnabled = false;
                rdbThoaihoan.IsEnabled = false;
            }
        }

        public void Enable_KyCancu(bool var, int soky)
        {
            if (var == true)
            {
                if (soky == 1)
                {
                    txtSG1.IsEnabled = true;
                    txtBT1.IsEnabled = true;
                    txtCD1.IsEnabled = true;
                    txtTD1.IsEnabled = true;
                    txtVC1.IsEnabled = true;
                    txtGiobd1.IsEnabled = true;
                    txtPhutbd1.IsEnabled = true;
                    txtGiokt1.IsEnabled = true;
                    txtPhutkt1.IsEnabled = true;
                    dtpTungay1.IsEnabled = true;
                    dtpDenngay1.IsEnabled = true;

                    txtSG2.IsEnabled = false;
                    txtBT2.IsEnabled = false;
                    txtCD2.IsEnabled = false;
                    txtTD2.IsEnabled = false;
                    txtVC2.IsEnabled = false;
                    txtGiobd2.IsEnabled = false;
                    txtPhutbd2.IsEnabled = false;
                    txtGiokt2.IsEnabled = false;
                    txtPhutkt2.IsEnabled = false;
                    dtpTungay2.IsEnabled = false;
                    dtpDenngay2.IsEnabled = false;

                    txtSG3.IsEnabled = false;
                    txtBT3.IsEnabled = false;
                    txtCD3.IsEnabled = false;
                    txtTD3.IsEnabled = false;
                    txtVC3.IsEnabled = false;
                    txtGiobd3.IsEnabled = false;
                    txtPhutbd3.IsEnabled = false;
                    txtGiokt3.IsEnabled = false;
                    txtPhutkt3.IsEnabled = false;
                    dtpTungay3.IsEnabled = false;
                    dtpDenngay3.IsEnabled = false;
                }

                if (soky == 2)
                {
                    txtSG1.IsEnabled = true;
                    txtBT1.IsEnabled = true;
                    txtCD1.IsEnabled = true;
                    txtTD1.IsEnabled = true;
                    txtVC1.IsEnabled = true;
                    txtGiobd1.IsEnabled = true;
                    txtPhutbd1.IsEnabled = true;
                    txtGiokt1.IsEnabled = true;
                    txtPhutkt1.IsEnabled = true;
                    dtpTungay1.IsEnabled = true;
                    dtpDenngay1.IsEnabled = true;

                    txtSG2.IsEnabled = true;
                    txtBT2.IsEnabled = true;
                    txtCD2.IsEnabled = true;
                    txtTD2.IsEnabled = true;
                    txtVC2.IsEnabled = true;
                    txtGiobd2.IsEnabled = true;
                    txtPhutbd2.IsEnabled = true;
                    txtGiokt2.IsEnabled = true;
                    txtPhutkt2.IsEnabled = true;
                    dtpTungay2.IsEnabled = true;
                    dtpDenngay2.IsEnabled = true;

                    txtSG3.IsEnabled = false;
                    txtBT3.IsEnabled = false;
                    txtCD3.IsEnabled = false;
                    txtTD3.IsEnabled = false;
                    txtVC3.IsEnabled = false;
                    txtGiobd3.IsEnabled = false;
                    txtPhutbd3.IsEnabled = false;
                    txtGiokt3.IsEnabled = false;
                    txtPhutkt3.IsEnabled = false;
                    dtpTungay3.IsEnabled = false;
                    dtpDenngay3.IsEnabled = false;
                }

                if (soky >= 3)
                {
                    txtSG1.IsEnabled = true;
                    txtBT1.IsEnabled = true;
                    txtCD1.IsEnabled = true;
                    txtTD1.IsEnabled = true;
                    txtVC1.IsEnabled = true;
                    txtGiobd1.IsEnabled = true;
                    txtPhutbd1.IsEnabled = true;
                    txtGiokt1.IsEnabled = true;
                    txtPhutkt1.IsEnabled = true;
                    dtpTungay1.IsEnabled = true;
                    dtpDenngay1.IsEnabled = true;

                    txtSG2.IsEnabled = true;
                    txtBT2.IsEnabled = true;
                    txtCD2.IsEnabled = true;
                    txtTD2.IsEnabled = true;
                    txtVC2.IsEnabled = true;
                    txtGiobd2.IsEnabled = true;
                    txtPhutbd2.IsEnabled = true;
                    txtGiokt2.IsEnabled = true;
                    txtPhutkt2.IsEnabled = true;
                    dtpTungay2.IsEnabled = true;
                    dtpDenngay2.IsEnabled = true;

                    txtSG3.IsEnabled = true;
                    txtBT3.IsEnabled = true;
                    txtCD3.IsEnabled = true;
                    txtTD3.IsEnabled = true;
                    txtVC3.IsEnabled = true;
                    txtGiobd3.IsEnabled = true;
                    txtPhutbd3.IsEnabled = true;
                    txtGiokt3.IsEnabled = true;
                    txtPhutkt3.IsEnabled = true;
                    dtpTungay3.IsEnabled = true;
                    dtpDenngay3.IsEnabled = true;
                }

                txtSogiomatdiencacKyBT.IsEnabled = var;
                txtSogiomatdiencacKyCD.IsEnabled = var;
                txtSogiomatdiencacKyTD.IsEnabled = var;
            }
            else
            {
                txtSG1.IsEnabled = false;
                txtBT1.IsEnabled = false;
                txtCD1.IsEnabled = false;
                txtTD1.IsEnabled = false;
                txtVC1.IsEnabled = false;
                txtGiobd1.IsEnabled = false;
                txtPhutbd1.IsEnabled = false;
                txtGiokt1.IsEnabled = false;
                txtPhutkt1.IsEnabled = false;
                dtpTungay1.IsEnabled = false;
                dtpDenngay1.IsEnabled = false;

                txtSG2.IsEnabled = false;
                txtBT2.IsEnabled = false;
                txtCD2.IsEnabled = false;
                txtTD2.IsEnabled = false;
                txtVC2.IsEnabled = false;
                txtGiobd2.IsEnabled = false;
                txtPhutbd2.IsEnabled = false;
                txtGiokt2.IsEnabled = false;
                txtPhutkt2.IsEnabled = false;
                dtpTungay2.IsEnabled = false;
                dtpDenngay2.IsEnabled = false;

                txtSG3.IsEnabled = false;
                txtBT3.IsEnabled = false;
                txtCD3.IsEnabled = false;
                txtTD3.IsEnabled = false;
                txtVC3.IsEnabled = false;
                txtGiobd3.IsEnabled = false;
                txtPhutbd3.IsEnabled = false;
                txtGiokt3.IsEnabled = false;
                txtPhutkt3.IsEnabled = false;
                dtpTungay3.IsEnabled = false;
                dtpDenngay3.IsEnabled = false;

                txtSogiomatdiencacKyBT.IsEnabled = var;
                txtSogiomatdiencacKyCD.IsEnabled = var;
                txtSogiomatdiencacKyTD.IsEnabled = var;
            }
        }

        public void Items_text(string text)
        {
            txtMa_ddo_I.Text = text;
            txtTen_khang.Text = text;
            txtDia_chi.Text = text;
            txtLoai_cto.Text = text;
            txtSo_Cto.Text = text;
            txtMa_cto.Text = text;
            txtHSN.Text = text;
            txtMa_TT.Text = text;

            txtHoten1.Text = text;
            txtHoten2.Text = text;
            txtHoten3.Text = text;
            txtChucvu1.Text = text;
            txtChucvu2.Text = text;
            txtChucvu3.Text = text;

            txtDai_dien_mua1.Text = text;
            txtDai_dien_mua2.Text = text;
            txtChucvu_mua1.Text = text;
            txtChucvu_mua2.Text = text;

            
            txtGiostop.Text = text;
            txtPhutstop.Text = text;
            dtpNgaystop.Text = text;
            txtNguyennhan.Text = text;
            dtpNgayKdinh.Text = text;
            txtSoky.Text = text;
            txtSobbkd.Text = text;
            dtpKiemtra.Text = text;
            txtSobbktra.Text = text;
            dtpThangNamTT.Text = text;

            txtSG1.Text = text;
            txtSG2.Text = text;
            txtSG3.Text = text;
            txtBT1.Text = text;
            txtBT2.Text = text;
            txtBT3.Text = text;
            txtCD1.Text = text;
            txtCD2.Text = text;
            txtCD3.Text = text;
            txtTD1.Text = text;
            txtTD2.Text = text;
            txtTD3.Text = text;
            txtVC1.Text = text;
            txtVC2.Text = text;
            txtVC3.Text = text;
            txtGiobd1.Text = text;
            txtGiobd2.Text = text;
            txtGiobd3.Text = text;
            txtPhutbd1.Text = text;
            txtPhutbd2.Text = text;
            txtPhutbd3.Text = text;
            txtGiokt1.Text = text;
            txtGiokt2.Text = text;
            txtGiokt3.Text = text;
            txtPhutkt1.Text = text;
            txtPhutkt2.Text = text;
            txtPhutkt3.Text = text;
            dtpTungay1.Text = text;
            dtpTungay2.Text = text;
            dtpTungay3.Text = text;
            dtpDenngay1.Text = text;
            dtpDenngay2.Text = text;
            dtpDenngay3.Text = text;

            txtSogiomatdiencacKyBT.Text = text;
            txtSogiomatdiencacKyCD.Text = text;
            txtSogiomatdiencacKyTD.Text = text;

            txtSGct.Text = text;            
            txtBTct.Text = text;
            txtCDct.Text = text;
            txtTDct.Text = text;
            txtVCct.Text = text;         
            txtGioktct.Text = text;
            txtPhutktct.Text = text;           
            dtpDenngayct.Text = text;

            txtSGgn.Text = text;
            txtBTgn.Text = text;
            txtCDgn.Text = text;
            txtTDgn.Text = text;
            txtVCgn.Text = text;
            txtPhutghign.Text = text;
            txtGioghign.Text = text;
            dtpNgayghign.Text = text;

            txtSogiomatdienTT_BT.Text = text;
            txtSogiomatdienTT_CD.Text = text;
            txtSogiomatdienTT_TD.Text = text;

           
            txtBTsum.Text = text;
            txtChuoigia.Text = text;
            txtBTtien.Text = text;
            
            
            txtCDsum.Text = text;            
            txtCDtien.Text = text;
            
            
            txtTDsum.Text = text;            
            txtTDtien.Text = text;

           
            txtVCsum.Text = text;            
            txtVCtien.Text = text;


            txtSLBTtt.Text = text;
            txtSLCDtt.Text = text;
            txtSLTDtt.Text = text;

            txtTienBTtt.Text = text;
            txtTienCDtt.Text = text;
            txtTienTDtt.Text = text;

            txtSobbTThuan.Text = text;
            dtpNgaythoathuan.Text = text;

            txtSokyCancuTH.Text = text;
            dtpTungayCancuTH.Text = text;
            dtpDenngayCancuTH.Text = text;
            txtSaiso.Text = text;
            txtTienTH.Text = text;
            txtBT_TH.Text = text;
            txtCD_TH.Text = text;
            txtTD_TH.Text = text;

        }

        //Lay thang nam hoa don trong he thong
        private void GET_THANGNAM_HD()
        {
            try
            {
                DataTable dtThangNamHD = Utility.getThangNamCurrent("HD");
                if (dtThangNamHD != null && dtThangNamHD.Rows.Count > 0)
                {
                    i16ThangHD = Convert.ToInt16(dtThangNamHD.Rows[0]["THANG"]);
                    i16NamHD = Convert.ToInt16(dtThangNamHD.Rows[0]["NAM"]);
                }
            }
            catch
            {
                i16ThangHD = Convert.ToInt16(DateTime.Now.Month);
                i16NamHD = Convert.ToInt16(DateTime.Now.Year);
            }
        }

        public void Tinh_gio(int intGioBd, int intPhutBd, DateTime dtDateBd, int intGioKt, int intPhutKt, DateTime dtDateKt)
        {
            try
            {
                int intNgayBd = dtDateBd.Day;
                int intThangBd = dtDateBd.Month;
                int intNamBd = dtDateBd.Year;

                int intNgayKt = dtDateKt.Day;
                int intThangKt = dtDateKt.Month;
                int intNamKt = dtDateKt.Year;

                BT = 0;
                CD = 0;
                TD = 0;
                VC = 0;

                DateTime FirstSunday;

                DateTime First = new DateTime(intNamBd, intThangBd, intNgayBd, intGioBd, intPhutBd, 00); // ngày giờ bắt đầu 
                DateTime vd = new DateTime(1, 1, 1, 0, 0, 0);
                
                // nếu ngày bắt đầu là chủ nhật ()
                if (dtDateBd.DayOfWeek == DayOfWeek.Sunday)
                {
                    FirstSunday = dtDateBd;
                }
                else
                {
                    FirstSunday = dtDateBd.AddDays(7 - (double)First.DayOfWeek); // ngày chủ nhật đầu tiên
                }

                DateTime Last = new DateTime(intNamKt, intThangKt, intNgayKt, intGioKt, intPhutKt, 00); // ngày giờ kết thúc
                DateTime LastSunday = dtDateKt.AddDays(-(double)Last.DayOfWeek); // ngày chủ nhật cuối cùng
                int SundayCount = LastSunday.Subtract(FirstSunday).Days / 7 + 1; // tổng số ngày chủ nhật 

                #region ======== Tính chi tiết giờ cho ngày đầu kỳ ==========
                
                // Ngày đầu kỳ là Chủ nhật
                if (First.DayOfWeek == DayOfWeek.Sunday)
                {
                    // trừ đi 1 Chủ nhật
                    SundayCount = SundayCount - 1;

                    if(intGioBd < 4) // 0h - 4h
                    {
                        BT = 18;
                        CD = 0;
                        DateTime moc4h = new DateTime(intNamBd, intThangBd, intNgayBd, 4, 00, 00);
                        TimeSpan ts1 = moc4h - First;
                        double TD1 = ts1.TotalHours; 
                        TD = 2 + TD1;
                    }
                    else
                        if (intGioBd >= 4 && intGioBd <= 22)   // 4h - 22h
                        {
                            CD = 0;
                            TD = 2;
                            DateTime moc22h = new DateTime(intNamBd, intThangBd, intNgayBd, 22, 00, 00);
                            TimeSpan ts1 = moc22h - First;
                            BT = ts1.TotalHours;
                        }
                        else
                            if(intGioBd > 22)   // 22h - 24h
                            {
                                CD = 0;
                                BT = 0;
                                DateTime moc0h = new DateTime(intNamBd, intThangBd, intNgayBd, 23, 59, 00);
                                TimeSpan ts1 = moc0h - First;
                                TD = ts1.TotalHours + 1/60;
                            }

                }
                else  // Ngày đầu kỳ là ngày thường
                {
                    if (intGioBd <= 4)   // 0h - 4h
                    {
                        BT = 13;
                        CD = 5;
                        DateTime moc4h = new DateTime(intNamBd, intThangBd, intNgayBd, 4, 00, 00);
                        TimeSpan ts1 = moc4h - First;
                        double TD1 = ts1.TotalHours;
                        TD = 2 + TD1;
                    }
                    else
                        if(intGioBd>4 && ((intGioBd < 9) || (intGioBd == 9 && intPhutBd <= 30)))   // 4h - 9h30
                        {
                            CD = 5;
                            TD = 2;
                            DateTime moc9h30 = new DateTime(intNamBd, intThangBd, intNgayBd, 9, 30, 00);
                            TimeSpan ts1 = moc9h30 - First;
                            double BT1 = ts1.TotalHours;
                            BT = 7.5 + BT1;
                        }
                        else
                            if ((intGioBd > 9 || (intGioBd == 9 && intPhutBd > 30)) && (intGioBd < 11 || (intGioBd == 11 && intPhutBd <= 30)))  // 9h30 - 11h30
                            {
                                BT = 7.5;
                                TD = 2;
                                DateTime moc11h30 = new DateTime(intNamBd, intThangBd, intNgayBd, 11, 30, 00);
                                TimeSpan ts1 = moc11h30 - First;
                                double CD1 = ts1.TotalHours;
                                CD = 3 + CD1;
                            }
                            else
                                if ((intGioBd > 11 || (intGioBd == 11 && intPhutBd > 30)) && (intGioBd <= 17))   // 11h30 - 17h
                                {
                                    CD = 3;
                                    TD = 2;
                                    DateTime moc17h = new DateTime(intNamBd, intThangBd, intNgayBd, 17, 00, 00);
                                    TimeSpan ts1 = moc17h - First;
                                    double BT1 = ts1.TotalHours;
                                    BT = 2 + BT1;
                                }
                                else
                                    if(intGioBd > 17 && intGioBd <= 20)   // 17h- 20h
                                    {
                                        BT = 2;
                                        TD = 2;
                                        DateTime moc20h = new DateTime(intNamBd, intThangBd, intNgayBd, 20, 00, 00);
                                        TimeSpan ts1 = moc20h - First;
                                        CD = ts1.TotalHours;
                                    }
                                    else
                                        if(intGioBd > 20 && intGioBd <= 22)   // 20h - 22h
                                        {
                                            CD = 0;
                                            TD = 2;
                                            DateTime moc22h = new DateTime(intNamBd, intThangBd, intNgayBd, 22, 00, 00);
                                            TimeSpan ts1 = moc22h - First;
                                            BT = ts1.TotalHours;
                                        }
                                        else
                                            if (intGioBd > 22)   // 22h - 24h
                                            {
                                                BT = 0;
                                                CD = 0;
                                                DateTime moc24h = new DateTime(intNamBd, intThangBd, intNgayBd, 23, 59, 00);
                                                TimeSpan ts1 = moc24h - First;
                                                TD = ts1.TotalHours + 1/60;
                                            }
                        
                }

                #endregion

                #region ======== Tính chi tiết giờ cho ngày cuối kỳ =========

                // Ngày cuối kỳ là Chủ nhật
                if (Last.DayOfWeek == DayOfWeek.Sunday)
                {
                    // trừ đi 1 Chủ nhật
                    SundayCount = SundayCount - 1;

                    if (intGioKt < 4) // 0h - 4h
                    {
                        BT += 0;
                        CD += 0;
                        DateTime moc0h = new DateTime(intNamKt, intThangKt, intNgayKt, 00, 00, 00);
                        TimeSpan ts1 = Last - moc0h;
                        TD += ts1.TotalHours;
                    }
                    else
                        if (intGioKt >= 4 && intGioKt <= 22)   // 4h - 22h
                        {
                            CD += 0;
                            TD += 4;
                            DateTime moc4h = new DateTime(intNamKt, intThangKt, intNgayKt, 4, 00, 00);
                            TimeSpan ts1 = Last - moc4h;
                            BT += ts1.TotalHours;

                        }
                        else
                            if (intGioKt > 22)   // 22h - 24h
                            {
                                CD += 0;
                                BT += 18;
                                DateTime moc22h = new DateTime(intNamKt, intThangKt, intNgayKt, 22, 00, 00);
                                TimeSpan ts1 = Last - moc22h;
                                double TD1 = ts1.TotalHours;
                                TD += 4;
                                TD += TD1;
                            }

                }
                else // Ngày cuối kỳ là ngày thường
                {
                    if ((intGioKt < 4) || (intGioKt == 4 && intPhutKt == 0))   // 0h - 4h
                    {
                        BT += 0;
                        CD += 0;
                        DateTime moc0h = new DateTime(intNamKt, intThangKt, intNgayKt, 0, 00, 00);
                        TimeSpan ts1 = Last - moc0h;
                        TD += ts1.TotalHours;                        
                    }
                    else
                        if ((intGioKt > 4 || (intGioKt == 4 && intPhutKt > 0)) && (intGioKt < 9 || (intGioKt == 9 && intPhutKt <= 30)))   // 4h - 9h30
                        {
                            CD += 0;
                            TD += 4;
                            DateTime moc4h = new DateTime(intNamKt, intThangKt, intNgayKt, 4, 00, 00);
                            TimeSpan ts1 = Last - moc4h;
                            BT += ts1.TotalHours;
                        }
                        else
                            if ((intGioKt > 9 || (intGioKt == 9 && intPhutKt > 30)) && (intGioKt < 11 || (intGioKt == 11 && intPhutKt <= 30)))  // 9h30 - 11h30
                            {
                                TD += 4;
                                BT += 5.5;
                                DateTime moc9h30 = new DateTime(intNamKt, intThangKt, intNgayKt, 9, 30, 00);
                                TimeSpan ts1 = Last - moc9h30;
                                CD += ts1.TotalHours;
                            }
                            else
                                if ((intGioKt > 11 || (intGioKt == 11 && intPhutKt > 30)) && (intGioKt < 17 || (intGioKt == 17 && intPhutKt == 0)))   // 11h30 - 17h
                                {
                                    TD += 4;
                                    CD += 2;
                                    DateTime moc11h30 = new DateTime(intNamKt, intThangKt, intNgayKt, 11, 30, 00);
                                    TimeSpan ts1 = Last - moc11h30;
                                    BT += 5.5;
                                    BT += ts1.TotalHours;
                                }
                                else
                                    if((intGioKt > 17 || (intGioKt == 17 && intPhutKt > 0)) && intGioKt <= 20)   // 17h - 20h
                                    {
                                        BT += 11;
                                        TD += 4;
                                        DateTime moc17h = new DateTime(intNamKt, intThangKt, intNgayKt, 17, 00, 00);
                                        TimeSpan ts1 = Last - moc17h;
                                        CD += 2;
                                        CD += ts1.TotalHours;
                                    }
                                    else
                                        if(intGioKt > 20 && intGioKt <= 22)   // 20h - 22h
                                        {
                                            CD += 5;
                                            TD += 4;
                                            DateTime moc20h = new DateTime(intNamKt, intThangKt, intNgayKt, 20, 00, 00);
                                            TimeSpan ts1 = Last - moc20h;
                                            BT += 11;
                                            BT += ts1.TotalHours;
                                        }
                                        else
                                            if (intGioKt > 22)  // 22h - 24h
                                            {
                                                BT += 13;
                                                CD += 5;
                                                DateTime moc22h = new DateTime(intNamKt, intThangKt, intNgayKt, 22, 00, 00);
                                                if (intGioKt == 23 && intPhutKt == 59)
                                                {
                                                   Last = Last.AddMinutes(1);
                                                }
                                                TimeSpan ts1 = Last - moc22h;
                                                TD += 4;
                                                TD += ts1.TotalHours;
                                            }
                }

                #endregion

                #region ======== Tính chi tiết giờ cho các ngày Chủ nhật nằm giữa khoảng thời gian =========

                if (SundayCount > 0)
                {
                    BT += 18 * SundayCount;
                    TD += 6 * SundayCount;
                }

                #endregion

                #region ======== Tính chi tiết giờ cho các ngày thường còn lại =========

                TimeSpan tsDemNgay = dtDateKt - dtDateBd;
                int intDemngayThuong = tsDemNgay.Days - SundayCount; // đã bỏ đi 1 ngày lẻ

                // trừ đi 2 ngày đầu kỳ và cuối kỳ => bỏ thêm 1 ngày
                intDemngayThuong += -1;

                BT += intDemngayThuong * 13;
                CD += intDemngayThuong * 5;
                TD += intDemngayThuong * 6;

                #endregion

                #region ======= Tính tổng chi tiết giờ =========

                TimeSpan tssum = Last - First;
                VC = tssum.TotalHours;

                #endregion

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void CheckIsEnableButtonSuaXoa()
        {

            if (txtMa_TT.Text.ToString() != string.Empty)
            {
                if (strBtnClick == "btnThemMoi" || strBtnClick == "SUA")
                {
                    btnSua.IsEnabled = false;
                    btnXoa.IsEnabled = false;
                    btnIn.IsEnabled = false;
                }
                else
                {
                    btnSua.IsEnabled = true;
                    btnXoa.IsEnabled = true;
                    btnIn.IsEnabled = true;
                }
            }
            else
            {
                btnSua.IsEnabled = false;
                btnXoa.IsEnabled = false;
                btnIn.IsEnabled = false;
            }
        }
        
        private void setEntity_KH(string strBtnClick)
        {
            try
            {
                dsNPC_TRTH_KHANG_Entity.Tables["NPC_TRTH_KHANG"].Clear();
                DataRow dr = dsNPC_TRTH_KHANG_Entity.Tables["NPC_TRTH_KHANG"].NewRow();
                switch (strBtnClick)
                {
                    case "btnGhi":

                        dr["ID_TRTH"] = txtMa_TT.Text.ToString();
                        dr["MA_DVIQLY"] = strMa_dviqly;
                        dr["TEN_DDIEN1"] = txtHoten1.Text.Trim().ToString();
                        dr["CVU_DDIEN1"] = txtChucvu1.Text.Trim().ToString();
                        if (txtHoten2.Text.Trim().ToString() != string.Empty)
                        {
                            dr["TEN_DDIEN2"] = txtHoten2.Text.Trim().ToString();
                        }
                        else
                        {
                            dr["TEN_DDIEN2"] = null;
                        }

                        if (txtChucvu2.Text.Trim().ToString() != string.Empty)
                        {
                            dr["CVU_DDIEN2"] = txtChucvu2.Text.Trim().ToString();
                        }
                        else
                        {
                            dr["CVU_DDIEN2"] = null;
                        }

                        if (txtHoten3.Text.Trim().ToString() != string.Empty)
                        {
                            dr["TEN_DDIEN3"] = txtHoten3.Text.Trim().ToString();
                        }
                        else
                        {
                            dr["TEN_DDIEN3"] = null;
                        }

                        if (txtChucvu3.Text.Trim().ToString() != string.Empty)
                        {
                            dr["CVU_DDIEN3"] = txtChucvu3.Text.Trim().ToString();
                        }
                        else
                        {
                            dr["CVU_DDIEN3"] = null;
                        }

                        dr["MA_KHANG"] = strMa_khang;
                        dr["TEN_KHANG"] = txtTen_khang.Text.Trim().ToString();
                        dr["DIA_CHI"] = txtDia_chi.Text.Trim().ToString();
                        if (strSuaThemmoi == "THEM")
                        {
                            dr["NGUOI_TAO"] = strTenDNHap;
                            dr["NGAY_TAO"] = DateTime.Now;
                            dr["NGUOI_SUA"] = strTenDNHap;
                            dr["NGAY_SUA"] = DateTime.Now;
                        }
                        else
                        {
                            dr["NGUOI_TAO"] = strNguoiTao;
                            dr["NGAY_TAO"] = dtimeNgaytao;
                            dr["NGUOI_SUA"] = strTenDNHap;
                            dr["NGAY_SUA"] = DateTime.Now;
                        }
                        dr["DDIEN_MUA"] = txtDai_dien_mua1.Text.Trim().ToString();
                        dr["CVU_MUA"] = txtChucvu_mua1.Text.Trim().ToString();
                        dr["NGUYEN_NHAN"] = txtNguyennhan.Text.Trim().ToString();
                        dr["LOAI_KHANG"] = "20";
                        dr["DCHI_TTOAN"] = strDCHI_TTOAN;
                        dr["LOAI_CTO"] = txtLoai_cto.Text.Trim().ToString();
                        if (dtpNgayKdinh.SelectedDate.HasValue)
                        {
                            dr["NGAY_KDINH"] = dtpNgayKdinh.SelectedDate.Value.Date;
                        }
                        else
                        {
                            dr["NGAY_KDINH"] = "";
                        }

                        if (rdbThoaihoan.IsChecked == true)
                        {
                            dr["CAN_CU"] = txtSaiso.Text.Trim();
                        }
                        else
                        {
                            dr["CAN_CU"] = " ";
                        }

                        if (txtDai_dien_mua2.Text.Trim().ToString() != string.Empty)
                        {
                            dr["DDIEN_MUA2"] = txtDai_dien_mua2.Text.Trim().ToString();
                        }
                        else
                        {
                            dr["DDIEN_MUA2"] = null;
                        }

                        if (txtChucvu_mua2.Text.Trim().ToString() != string.Empty)
                        {
                            dr["CVU_MUA2"] = txtChucvu_mua2.Text.Trim().ToString();
                        }
                        else
                        {
                            dr["CVU_MUA2"] = null;
                        }

                        dr["HS_COSFI"] = Convert.ToDecimal(hesocosfi.ToString("##.##") == string.Empty ? "0" : hesocosfi.ToString("##.##"));
                        dr["KCOSFI"] = hesoK;
                        dr["SO_BB_KDINH"] = txtSobbkd.Text.Trim().ToString() == string.Empty ? " " : txtSobbkd.Text.Trim().ToString();
                        dr["SO_BB_KTRA"] = txtSobbktra.Text.Trim().ToString() == string.Empty ? " " : txtSobbktra.Text.Trim().ToString();
                        dr["NGAY_KTRA"] = dtpKiemtra.Text.ToString() == string.Empty ? Convert.ToDateTime("01/01/1000") : dtpKiemtra.SelectedDate.Value.Date;
                        dr["THANG_TT"] = dtpThangNamTT.SelectedDate.Value.Month;
                        dr["NAM_TT"] = dtpThangNamTT.SelectedDate.Value.Year;
                        dr["SO_BB_TTHUAN"] = txtSobbTThuan.Text.Trim().ToString() == string.Empty ? " " : txtSobbTThuan.Text.Trim().ToString();
                        dr["NGAY_TTHUAN"] = dtpNgaythoathuan.Text.ToString() == string.Empty ? Convert.ToDateTime("01/01/1000") : dtpNgaythoathuan.SelectedDate.Value.Date;

                        if (cboLOAI_SUCO.SelectedIndex == 0)
                        {
                            dr["LOAI_SUCO"] = 0;
                        }
                        if (cboLOAI_SUCO.SelectedIndex == 1)
                        {
                            dr["LOAI_SUCO"] = 1;
                        }
                        if (cboLOAI_SUCO.SelectedIndex == 2)
                        {
                            dr["LOAI_SUCO"] = 2;
                        }
                        if (cboLOAI_SUCO.SelectedIndex == 3)
                        {
                            dr["LOAI_SUCO"] = 3;
                        }

                        break;

                    case "btnXoa":
                        dr["ID_TRTH"] = txtMa_TT.Text.ToString();
                        dr["MA_DVIQLY"] = strMa_dviqly;
                        dr["TEN_DDIEN1"] = txtHoten1.Text.ToString();
                        dr["CVU_DDIEN1"] = txtChucvu1.Text.ToString();
                        dr["TEN_DDIEN2"] = null;
                        dr["CVU_DDIEN2"] = null;
                        dr["TEN_DDIEN3"] = null;
                        dr["CVU_DDIEN3"] = txtChucvu3.Text.ToString();
                        dr["MA_KHANG"] = strMa_khang;
                        dr["TEN_KHANG"] = txtTen_khang.Text.ToString();
                        dr["DIA_CHI"] = txtDia_chi.Text.ToString();
                        dr["NGUOI_TAO"] = strTenDNHap;
                        dr["NGAY_TAO"] = DateTime.Now;
                        dr["DDIEN_MUA"] = " ";
                        dr["CVU_MUA"] = " ";
                        dr["NGUYEN_NHAN"] = " ";
                        dr["LOAI_KHANG"] = "20";
                        dr["DCHI_TTOAN"] = strDCHI_TTOAN;
                        dr["LOAI_CTO"] = " ";
                        dr["NGAY_KDINH"] = DateTime.Now;
                        dr["CAN_CU"] = " ";
                        dr["DDIEN_MUA2"] = " ";
                        dr["CVU_MUA2"] = " ";
                        dr["HS_COSFI"] = hesocosfi;
                        dr["KCOSFI"] = hesoK;

                        dr["SO_BB_KDINH"] = " ";
                        dr["SO_BB_KTRA"] = " ";
                        dr["NGAY_KTRA"] = Convert.ToDateTime("01/01/1000");
                        dr["THANG_TT"] = 0;
                        dr["NAM_TT"] = 0;
                        dr["SO_BB_TTHUAN"] = " ";
                        dr["NGAY_TTHUAN"] = Convert.ToDateTime("01/01/1000");
                        dr["LOAI_SUCO"] = 0;

                        break;
                    case "btnTimKiem":
                        if (txtMa_TT_S.Text.Trim().ToString() != string.Empty)
                        {
                            dr["ID_TRTH"] = txtMa_TT_S.Text.Trim().ToString();
                        }
                        else
                        {
                            dr["ID_TRTH"] = -1;
                        }
                        dr["MA_DVIQLY"] = strMa_dviqly;
                        dr["TEN_DDIEN1"] = " ";
                        dr["CVU_DDIEN1"] = " ";
                        dr["TEN_DDIEN2"] = null;
                        dr["CVU_DDIEN2"] = null;
                        dr["TEN_DDIEN3"] = null;
                        dr["CVU_DDIEN3"] = " ";

                        if (txtMa_khang_S.Text.Trim().ToString() != string.Empty)
                        {
                            dr["MA_KHANG"] = txtMa_khang_S.Text.Trim().ToString();
                        }
                        else
                        {
                            dr["MA_KHANG"] = " ";
                        }
                        dr["TEN_KHANG"] = " ";
                        dr["DIA_CHI"] = " ";
                        dr["NGUOI_TAO"] = strTenDNHap;
                        dr["NGAY_TAO"] = DateTime.Now;
                        dr["DDIEN_MUA"] = " ";
                        dr["CVU_MUA"] = " ";
                        dr["NGUYEN_NHAN"] = " ";
                        dr["LOAI_KHANG"] = "20";
                        dr["DCHI_TTOAN"] = strDCHI_TTOAN;
                        dr["LOAI_CTO"] = " ";
                        dr["NGAY_KDINH"] = DateTime.Now;
                        dr["CAN_CU"] = " ";
                        dr["DDIEN_MUA2"] = " ";
                        dr["CVU_MUA2"] = " ";
                        dr["HS_COSFI"] = hesocosfi;
                        dr["KCOSFI"] = hesoK;

                        dr["SO_BB_KDINH"] = " ";
                        dr["SO_BB_KTRA"] = " ";
                        dr["NGAY_KTRA"] = Convert.ToDateTime("01/01/1000");
                        dr["THANG_TT"] = 0;
                        dr["NAM_TT"] = 0;
                        dr["SO_BB_TTHUAN"] = " ";
                        dr["NGAY_TTHUAN"] = Convert.ToDateTime("01/01/1000");
                        dr["LOAI_SUCO"] = 0;

                        break;
                    case "btnThemMoi":
                        break;
                }
                dsNPC_TRTH_KHANG_Entity.Tables["NPC_TRTH_KHANG"].Rows.Add(dr);
                dsNPC_TRTH_KHANG_Entity.AcceptChanges();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        
        private void setEntity_CHISO(string strBtnClick)
        {
            try
            {
                dsNPC_TRTH_CHISO_Entity.Tables["NPC_TRTH_CHISO"].Clear();
                DataRow dr = dsNPC_TRTH_CHISO_Entity.Tables["NPC_TRTH_CHISO"].NewRow();
                switch (strBtnClick)
                {
                    case "btnGhi":
                        dr["ID_CHISO"] = ID_CHISO;
                        dr["MA_DVIQLY"] = strMa_dviqly;
                        dr["ID_TRTH"] = txtMa_TT.Text.ToString();
                        dr["CHISO_CU"] = CHISO_CU;
                        dr["CHISO_MOI"] = CHISO_MOI;
                        dr["SAN_LUONG"] = sanluongKy;
                        dr["NGAY_DKY"] = dtNgayDKY;
                        dr["GIO_DKY"] = intGiobd;
                        dr["PHUT_DKY"] = intPhutbd;
                        if (Ky == 0)
                        {
                            if (checkDocchiso == false || checkDoctgian == false)
                            {
                                dr["NGAY_CKY"] = null;
                            }
                            else
                            {
                                dr["NGAY_CKY"] = dtNgayCKY;
                            }
                        }
                        else
                        {
                            dr["NGAY_CKY"] = dtNgayCKY;
                        }
                        dr["GIO_CKY"] = intGiokt;
                        dr["PHUT_CKY"] = intPhutkt;
                        dr["HSN"] = txtHSN.Text.Trim(); ;
                        dr["BCS"] = strBCS;
                        dr["SO_CTO"] = txtSo_Cto.Text.Trim();
                        dr["MA_CTO"] = txtMa_cto.Text.Trim();
                        if (rdbThoaihoan.IsChecked == true)
                        {
                            dr["KY"] = Convert.ToInt32(txtSokyCancuTH.Text.Trim().ToString());
                        }
                        else
                        {
                            dr["KY"] = Ky;
                        }

                        if (Ky == 10)
                        {
                            dr["LOAI_CHISO"] = strLoaiCSKy10;
                        }
                        else
                        {
                            dr["LOAI_CHISO"] = "";
                        }

                        dr["NGUOI_TAO"] = strTenDNHap;
                        dr["NGAY_TAO"] = DateTime.Now;

                        break;

                    case "btnXoa":
                        dr["ID_CHISO"] = ID_CHISO;
                        dr["MA_DVIQLY"] = strMa_dviqly;
                        dr["ID_TRTH"] = txtMa_TT.Text.ToString();
                        dr["CHISO_CU"] = 0;
                        dr["CHISO_MOI"] = 0;
                        dr["SAN_LUONG"] = 0;
                        dr["NGAY_DKY"] = null;
                        dr["GIO_DKY"] = 0;
                        dr["PHUT_DKY"] = 0;
                        dr["NGAY_CKY"] = null;
                        dr["GIO_CKY"] = 0;
                        dr["PHUT_CKY"] = 0;
                        dr["HSN"] = null;
                        dr["BCS"] = "KT";
                        dr["SO_CTO"] = "1";
                        dr["MA_CTO"] = "1";
                        dr["KY"] = null;
                        dr["LOAI_CHISO"] = "";
                        dr["NGUOI_TAO"] = strTenDNHap;
                        dr["NGAY_TAO"] = DateTime.Now;

                        break;
                    case "btnTimKiem":

                        break;
                    case "btnThemMoi":

                        break;
                }
                dsNPC_TRTH_CHISO_Entity.Tables["NPC_TRTH_CHISO"].Rows.Add(dr);
                dsNPC_TRTH_CHISO_Entity.AcceptChanges();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void setEntity_DDO(string strBtnClick)
        {
            try
            {
                dsNPC_TRTH_DDO_Entity.Tables["NPC_TRTH_DDO"].Clear();
                DataRow dr = dsNPC_TRTH_DDO_Entity.Tables["NPC_TRTH_DDO"].NewRow();
                set_lydo();
                switch (strBtnClick)
                {
                    case "btnGhi":
                        dr["ID_TRTH"] = txtMa_TT.Text.ToString();
                        dr["MA_DVIQLY"] = strMa_dviqly;
                        dr["MA_DDO"] = strMa_ddo;
                        dr["SO_CTO"] = txtSo_Cto.Text.Trim();
                        dr["MA_CTO"] = txtMa_cto.Text.Trim();
                        dr["MA_LDO"] = strMa_ldo;
                        dr["BCS"] = strBCS;
                        dr["TG_CANCU"] = TongsoGiocacKy;
                        dr["TG_TRTH"] = SogioTruythu;
                        dr["SL_CANCU"] = TongsanluongcacKy;
                        dr["SL_TRTHU"] = SanluongTT;
                        dr["SL_THAO"] = SanluongDocduoc;
                        dr["NGAYTRTH_TU"] = dtNgayTT_tu;
                        dr["GIOTRHU_TU"] = intGioTTtu;
                        dr["PHUTTRHU_TU"] = intPhutTTtu;
                        dr["NGAYTRTH_DEN"] = dtNgayTT_den;
                        dr["GIOTRHU_DEN"] = intGioTTden;
                        dr["PHUTTRHU_DEN"] = intPhutTTden;
                        dr["NGUOI_TAO"] = strTenDNHap;
                        dr["NGAY_TAO"] = DateTime.Now;
                        dr["TG_MDIEN_CANCU"] = sogiomatdienKy;
                        dr["TG_MDIEN_TRTHU"] = SogiomatdienTruythu;
                        dr["CHUOI_GIA"] = txtChuoigia.Text.ToString();
                        dr["THANH_TIEN"] = Thanhtien;
                        dr["THANH_TIEN_TRU_SLTHAO"] = ThanhtienTRuSLThao;
                        dr["CHUOI_TINHTIEN"] = strChuoi_tinhtien;

                        break;

                    case "btnXoa":
                        dr["ID_TRTH"] = txtMa_TT.Text.ToString();
                        dr["MA_DVIQLY"] = strMa_dviqly;
                        dr["MA_DDO"] = strMa_ddo;
                        dr["SO_CTO"] = txtSo_Cto.Text.Trim();
                        dr["MA_CTO"] = txtMa_cto.Text.Trim();
                        dr["MA_LDO"] = "1";
                        dr["BCS"] = "KT";
                        dr["TG_CANCU"] = 0;
                        dr["TG_TRTH"] = SongayTT;
                        dr["SL_CANCU"] = 0;
                        dr["SL_TRTHU"] = 0;
                        dr["SL_THAO"] = SanluongDocduoc;
                        dr["NGAYTRTH_TU"] = Convert.ToDateTime("01/01/1000");
                        dr["GIOTRHU_TU"] = 0;
                        dr["PHUTTRHU_TU"] = 0;
                        dr["NGAYTRTH_DEN"] = Convert.ToDateTime("01/01/1000");
                        dr["GIOTRHU_DEN"] = 0;
                        dr["PHUTTRHU_DEN"] = 0;
                        dr["NGUOI_TAO"] = strTenDNHap;
                        dr["NGAY_TAO"] = DateTime.Now;
                        dr["TG_MDIEN_CANCU"] = 0;
                        dr["TG_MDIEN_TRTHU"] = 0;
                        dr["CHUOI_GIA"] = " ";
                        dr["THANH_TIEN"] = 0;
                        dr["THANH_TIEN_TRU_SLTHAO"] = 0;
                        dr["CHUOI_TINHTIEN"] = " ";


                        break;
                    case "btnTimKiem":

                        break;
                    case "btnThemMoi":

                        break;
                }
                dsNPC_TRTH_DDO_Entity.Tables["NPC_TRTH_DDO"].Rows.Add(dr);
                dsNPC_TRTH_DDO_Entity.AcceptChanges();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void btnThemMoi_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Del_cache();

                this.Cursor = null;
                strBtnClick = "btnThemMoi";
                strSuaThemmoi = "THEM";

                btnThemMoi.IsEnabled = false;
                btnSua.IsEnabled = false;
                btnHuy.IsEnabled = true;
                btnGhi.IsEnabled = false;
                btnIn.IsEnabled = false;
                btnXoa.IsEnabled = false;

                rdbThongthuong.IsChecked = true;
                rdbThongthuong.IsEnabled = true;
                rdbBieutong.IsEnabled = true;
                rdbTutinh.IsEnabled = true;
                rdbThoaihoan.IsEnabled = true;
                cboLOAI_SUCO.SelectedIndex = 0;

                rdbKD.IsChecked = true;

                txtMa_ddo_I.IsEnabled = true;
                txtMa_ddo_I.IsReadOnly = false;
                tabTruythu.IsSelected = true;
                btnLayDuLieu_I.IsEnabled = true;

                Items_text(string.Empty);

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void btnSua_Click(object sender, RoutedEventArgs e)
        {
            try
            {

                strBtnClick = "SUA";
                strSuaThemmoi = "SUA";

                btnThemMoi.IsEnabled = false;
                btnSua.IsEnabled = false;
                btnHuy.IsEnabled = true;
                btnGhi.IsEnabled = true;
                btnIn.IsEnabled = false;
                btnXoa.IsEnabled = false;
                btnLayDuLieu_I.IsEnabled = false;
                btnLayCancu.IsEnabled = false;

                rdbThongthuong.IsEnabled = false;
                rdbBieutong.IsEnabled = false;
                rdbTutinh.IsEnabled = false;

                txtMa_ddo_I.IsReadOnly = true;
                txtHSN.IsReadOnly = false;
                
                Enable_Items(true);
                //Enable_ThongtinCancu(true);
                Enable_KyCancu(true, countKy);

                if (rdbBieutong.IsChecked == true)
                {
                    txtBTct.IsEnabled = false;
                    txtCDct.IsEnabled = false;
                    txtTDct.IsEnabled = false;
                    txtVCct.IsEnabled = false;

                    Enable_TheoBieutong(false);
                    ckbKhongdoc.IsEnabled = false;
                    ckbKoDoctg.IsEnabled = false;
                }
                
                if (rdbTutinh.IsChecked == true)
                {
                    tabTutinh.IsSelected = true;
                    tabTutinh.IsEnabled = true;

                    tabThoaihoan.IsEnabled = false;
                    tabsluongCancu.IsEnabled = false;
                    tabsluongBienban.IsEnabled = false;

                    txtGiostop.IsEnabled = true;
                    txtPhutstop.IsEnabled = true;
                    dtpNgaystop.IsEnabled = true;
                    txtNguyennhan.IsEnabled = true;
                    dtpNgayKdinh.IsEnabled = true;
                    
                    txtSLBTtt.IsEnabled = true;
                    txtSLCDtt.IsEnabled = true;
                    txtSLTDtt.IsEnabled = true;

                    txtSobbTThuan.IsEnabled = true;
                    dtpNgaythoathuan.IsEnabled = true;

                    txtTienBTtt.IsEnabled = true;
                    txtTienCDtt.IsEnabled = true;
                    txtTienTDtt.IsEnabled = true;
                    Enable_KyCancu(false, 3);
                }

                if (rdbThoaihoan.IsChecked == true)
                {
                    tabThoaihoan.IsSelected = true;
                    tabThoaihoan.IsEnabled = true;

                    tabTutinh.IsEnabled = false;
                    tabsluongCancu.IsEnabled = false;
                    tabsluongBienban.IsEnabled = false;

                    txtSokyCancuTH.IsEnabled = true;
                    dtpTungayCancuTH.IsEnabled = true;
                    dtpDenngayCancuTH.IsEnabled = true;
                    txtSaiso.IsEnabled = true;
                    txtTienTH.IsEnabled = true;
                    txtBT_TH.IsEnabled = true;
                    txtCD_TH.IsEnabled = true;
                    txtTD_TH.IsEnabled = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void btnHuy_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                this.Cursor = null;
                btnThemMoi.IsEnabled = true;
                btnSua.IsEnabled = false;
                btnHuy.IsEnabled = false;
                btnGhi.IsEnabled = false;
                btnIn.IsEnabled = false;
                btnLayDuLieu_I.IsEnabled = false;
                rdbThongthuong.IsChecked = true;
                rdbKD.IsChecked = true;

                ckbKhongdoc.IsChecked = false;
                ckbTunhap.IsChecked = false;
                ckbKoDoctg.IsChecked = false;
                cboLOAI_SUCO.SelectedIndex = 0;

                if (strBtnClick == "btnThemMoi")
                {
                    btnXoa.IsEnabled = false;
                }
                else
                    if (strBtnClick == "SUA")
                    {
                        btnXoa.IsEnabled = true;
                    }

                strBtnClick = "";
                strSuaThemmoi = "";

                Del_cache();
                Enable_Items(false);
                //Enable_ThongtinCancu(false);
                Enable_KyCancu(false, 0);
                Items_text(string.Empty);
                CheckIsEnableButtonSuaXoa();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void btnGhi_Click(object sender, RoutedEventArgs e)
        {
            try
            {

                CHISO_CU = 0;
                CHISO_MOI = 0;
                

                this.Cursor = Cursors.Wait;

                bool checkInsert = false;

                if (rdbTutinh.IsChecked == true)
                {
                    #region // Kiểm tra nhập liệu với trường hợp tự tính
                    while (check_Input_Tutinh() == false)
                    {
                        this.Cursor = null;
                        return;
                    }

                    #endregion
                }
                else
                    if (rdbThoaihoan.IsChecked == true)
                    {
                        #region // Kiểm tra nhập liệu với trường hợp thoái hoàn
                        while (check_Input_Thoaihoan() == false)
                        {
                            this.Cursor = null;
                            return;
                        }

                        #endregion
                    }
                    else
                    {

                        // ========= Kiem tra du lieu nhap moi ========
                        while (check_Input_Items() == false)
                        {
                            this.Cursor = null;
                            return;
                        }

                        // ========= Kiem tra du san luong cac ky ========
                        while (check_values_Ky() == false)
                        {
                            this.Cursor = null;
                            return;
                        }

                        //Nếu tự nhập -> lấy số kỳ
                        if (ckbTunhap.IsChecked == true)
                        {
                            Int32 sok;
                            if (Int32.TryParse(txtSoky.Text.Trim(), out sok))
                            {
                                countKy = Convert.ToInt32(txtSoky.Text.Trim());
                                if (countKy < 1 || countKy > 3)
                                {
                                    MessageBox.Show("Số lượng kỳ căn cứ từ 1 đến 3 !");
                                    txtSoky.Focus();
                                    this.Cursor = null;
                                    return;
                                }
                            }
                            else
                            {
                                MessageBox.Show("Hãy nhập số kỳ !");
                                txtSoky.Focus();
                                return;
                            }
                        }

                        hsn = Convert.ToInt32(txtHSN.Text.Trim());

                        Tinh_truythu();

                        if (checkTinhTT == false) // nếu không tính được truy thu -> stop
                        {
                            this.Cursor = null;
                            return;
                        }
                    }

                

                /// ======= Thêm mới -> lấy nextSeq ======
                if (strBtnClick == "btnThemMoi")
                {
                    long MaxID = 0;
                    long nextSeqTRTH = 0;

                    if ((txtMa_TT.Text.Trim().ToString() == string.Empty) || (txtMa_TT.Text.Trim().ToString() == "-1"))
                    {
                        //nextSeqTRTH = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRUYTHU(ref strError);
                        MaxID = GlobalServices.Service_Truythu.GetMaxID(strMa_dviqly, "TRUYTHU", ref strError);

                        if (MaxID == -1)
                        {
                            MessageBox.Show("Seq Truy thu: -1 không ghi được dữ liệu");
                            return;
                        }
                        #region ======== ghi dòng NPC_LOG_ID mới =========
                        checkInsert = GlobalServices.Service_Truythu.insert_NPC_LOG_ID(strMa_dviqly, MaxID + 1, "TRUYTHU", strTenDNHap, DateTime.Now, ref strError);
                        if (checkInsert == false)
                        {
                            MessageBox.Show("Không ghi được dữ liệu LOG_ID" + "\n" + strError);
                            return;
                        }
                        #endregion

                        nextSeqTRTH = MaxID + 1;

                        txtMa_TT.Text = nextSeqTRTH.ToString();
                    }
                }

                // dữ liệu khách hàng NPC_TRTH_KHANG
                setEntity_KH("btnGhi");             



                // ============== Ghi dữ liệu Thêm mới ===============
                if (strBtnClick == "btnThemMoi")
                {
                    // ghi dữ liệu NPC_TRTH_KHANG
                    checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_KHANG(dsNPC_TRTH_KHANG_Entity, ref strError);
                    if (checkInsert == false)
                    {
                        MessageBox.Show(strError);
                        Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                        this.Cursor = null;
                        return;
                    }                    

                    if (checkInsert == false)
                    {
                        MessageBox.Show("Không ghi được dữ liệu khách hàng");
                        this.Cursor = null;
                        return;
                    }
                    else
                    {
                        if (rdbTutinh.IsChecked == false && rdbThoaihoan.IsChecked == false) //thong thuong or bieu tong
                        {
                            #region =========  dữ liệu chỉ số NPC_TRTH_CHISO  ==========

                            Ky1 = 1;
                            Ky2 = 2;
                            Ky3 = 3;
                            Ky0 = 0;

                            if (countKy == 1)
                            {
                                //BT
                                strBCS = "BT";
                                nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                ID_CHISO = nextSEQChiso;
                                Id_chisoBTKy1 = nextSEQChiso;
                                dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                sanluongKy = sanluongBTKy1;
                                Ky = Ky1;
                                CHISO_CU = 0;
                                CHISO_MOI = 0;
                                intGiobd = intGiobd1;
                                intPhutbd = intPhutbd1;
                                intGiokt = intGiokt1;
                                intPhutkt = intPhutkt1;

                                setEntity_CHISO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                if (checkInsert == false)
                                {
                                    MessageBox.Show(strError);
                                    Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                    this.Cursor = null;
                                    return;
                                }

                                if (checkInsert == true)
                                {
                                    //CD
                                    strBCS = "CD";
                                    nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                    ID_CHISO = nextSEQChiso;
                                    Id_chisoCDKy1 = nextSEQChiso;
                                    dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                    sanluongKy = sanluongCDKy1;
                                    Ky = Ky1;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd1;
                                    intPhutbd = intPhutbd1;
                                    intGiokt = intGiokt1;
                                    intPhutkt = intPhutkt1;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                    if (checkInsert == false)
                                    {
                                        MessageBox.Show(strError);
                                        Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                        this.Cursor = null;
                                        return;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Không ghi được dữ liệu sản lượng BT kỳ I " + strError.ToString());
                                    this.Cursor = null;
                                    return;
                                }

                                if (checkInsert == true)
                                {
                                    //TD
                                    strBCS = "TD";
                                    nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                    ID_CHISO = nextSEQChiso;
                                    Id_chisoTDKy1 = nextSEQChiso;
                                    dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                    sanluongKy = sanluongTDKy1;
                                    Ky = Ky1;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd1;
                                    intPhutbd = intPhutbd1;
                                    intGiokt = intGiokt1;
                                    intPhutkt = intPhutkt1;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                    if (checkInsert == false)
                                    {
                                        MessageBox.Show(strError);
                                        Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                        this.Cursor = null;
                                        return;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Không ghi được dữ liệu sản lượng CD kỳ I " + strError.ToString());
                                    this.Cursor = null;
                                    return;
                                }

                                if (checkInsert == true)
                                {
                                    //SG
                                    strBCS = "SG";
                                    nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                    ID_CHISO = nextSEQChiso;
                                    Id_chisoSGKy1 = nextSEQChiso;
                                    dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                    sanluongKy = sanluongSGKy1;
                                    Ky = Ky1;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd1;
                                    intPhutbd = intPhutbd1;
                                    intGiokt = intGiokt1;
                                    intPhutkt = intPhutkt1;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                    if (checkInsert == false)
                                    {
                                        MessageBox.Show(strError);
                                        Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                        this.Cursor = null;
                                        return;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Không ghi được dữ liệu sản lượng TD kỳ I " + strError.ToString());
                                    this.Cursor = null;
                                    return;
                                }

                                if (checkInsert == true)
                                {
                                    //VC
                                    strBCS = "VC";
                                    nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                    ID_CHISO = nextSEQChiso;
                                    Id_chisoVCKy1 = nextSEQChiso;
                                    dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                    sanluongKy = sanluongVCKy1;
                                    Ky = Ky1;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd1;
                                    intPhutbd = intPhutbd1;
                                    intGiokt = intGiokt1;
                                    intPhutkt = intPhutkt1;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                    if (checkInsert == false)
                                    {
                                        MessageBox.Show(strError);
                                        Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                        this.Cursor = null;
                                        return;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Không ghi được dữ liệu sản lượng SG kỳ I " + strError.ToString());
                                    this.Cursor = null;
                                    return;
                                }

                                if (checkInsert == false)
                                {
                                    MessageBox.Show("Không ghi được dữ liệu sản lượng VC kỳ I " + strError.ToString());
                                    this.Cursor = null;
                                    return;
                                }
                            }
                            else
                                if (countKy == 2)
                                {
                                    // Ky 1
                                    //BT
                                    strBCS = "BT";
                                    nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                    ID_CHISO = nextSEQChiso;
                                    Id_chisoBTKy1 = nextSEQChiso;
                                    dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                    sanluongKy = sanluongBTKy1;
                                    Ky = Ky1;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd1;
                                    intPhutbd = intPhutbd1;
                                    intGiokt = intGiokt1;
                                    intPhutkt = intPhutkt1;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                    if (checkInsert == false)
                                    {
                                        MessageBox.Show(strError);
                                        Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                        this.Cursor = null;
                                        return;
                                    }

                                    if (checkInsert == true)
                                    {
                                        //CD
                                        strBCS = "CD";
                                        nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                        ID_CHISO = nextSEQChiso;
                                        Id_chisoCDKy1 = nextSEQChiso;
                                        dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                        dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                        sanluongKy = sanluongCDKy1;
                                        Ky = Ky1;
                                        CHISO_CU = 0;
                                        CHISO_MOI = 0;
                                        intGiobd = intGiobd1;
                                        intPhutbd = intPhutbd1;
                                        intGiokt = intGiokt1;
                                        intPhutkt = intPhutkt1;

                                        setEntity_CHISO("btnGhi");

                                        checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                        if (checkInsert == false)
                                        {
                                            MessageBox.Show(strError);
                                            Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                            this.Cursor = null;
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("Không ghi được dữ liệu sản lượng BT kỳ I " + strError.ToString());
                                        this.Cursor = null;
                                        return;
                                    }

                                    if (checkInsert == true)
                                    {
                                        //TD
                                        strBCS = "TD";
                                        nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                        ID_CHISO = nextSEQChiso;
                                        Id_chisoTDKy1 = nextSEQChiso;
                                        dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                        dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                        sanluongKy = sanluongTDKy1;
                                        Ky = Ky1;
                                        CHISO_CU = 0;
                                        CHISO_MOI = 0;
                                        intGiobd = intGiobd1;
                                        intPhutbd = intPhutbd1;
                                        intGiokt = intGiokt1;
                                        intPhutkt = intPhutkt1;

                                        setEntity_CHISO("btnGhi");

                                        checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                        if (checkInsert == false)
                                        {
                                            MessageBox.Show(strError);
                                            Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                            this.Cursor = null;
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("Không ghi được dữ liệu sản lượng CD kỳ I " + strError.ToString());
                                        this.Cursor = null;
                                        return;
                                    }

                                    if (checkInsert == true)
                                    {
                                        //SG
                                        strBCS = "SG";
                                        nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                        ID_CHISO = nextSEQChiso;
                                        Id_chisoSGKy1 = nextSEQChiso;
                                        dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                        dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                        sanluongKy = sanluongSGKy1;
                                        Ky = Ky1;
                                        CHISO_CU = 0;
                                        CHISO_MOI = 0;
                                        intGiobd = intGiobd1;
                                        intPhutbd = intPhutbd1;
                                        intGiokt = intGiokt1;
                                        intPhutkt = intPhutkt1;

                                        setEntity_CHISO("btnGhi");

                                        checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                        if (checkInsert == false)
                                        {
                                            MessageBox.Show(strError);
                                            Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                            this.Cursor = null;
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("Không ghi được dữ liệu sản lượng TD kỳ I " + strError.ToString());
                                        this.Cursor = null;
                                        return;
                                    }

                                    if (checkInsert == true)
                                    {
                                        //VC
                                        strBCS = "VC";
                                        nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                        ID_CHISO = nextSEQChiso;
                                        Id_chisoVCKy1 = nextSEQChiso;
                                        dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                        dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                        sanluongKy = sanluongVCKy1;
                                        Ky = Ky1;
                                        CHISO_CU = 0;
                                        CHISO_MOI = 0;
                                        intGiobd = intGiobd1;
                                        intPhutbd = intPhutbd1;
                                        intGiokt = intGiokt1;
                                        intPhutkt = intPhutkt1;

                                        setEntity_CHISO("btnGhi");

                                        checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                        if (checkInsert == false)
                                        {
                                            MessageBox.Show(strError);
                                            Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                            this.Cursor = null;
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("Không ghi được dữ liệu sản lượng SG kỳ I " + strError.ToString());
                                        this.Cursor = null;
                                        return;
                                    }


                                    // ky 2                                
                                    if (checkInsert == true)
                                    {
                                        //BT
                                        strBCS = "BT";
                                        nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                        ID_CHISO = nextSEQChiso;
                                        Id_chisoBTKy2 = nextSEQChiso;
                                        dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                        dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                        sanluongKy = sanluongBTKy2;
                                        //Ky = Ky2;
                                        if (countKyTruoc == 2)
                                        {
                                            Ky = Ky2;
                                        }
                                        else
                                        {
                                            Ky = Ky21;
                                        }
                                        CHISO_CU = 0;
                                        CHISO_MOI = 0;
                                        intGiobd = intGiobd2;
                                        intPhutbd = intPhutbd2;
                                        intGiokt = intGiokt2;
                                        intPhutkt = intPhutkt2;

                                        setEntity_CHISO("btnGhi");

                                        checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                        if (checkInsert == false)
                                        {
                                            MessageBox.Show(strError);
                                            Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                            this.Cursor = null;
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("Không ghi được dữ liệu sản lượng VC kỳ I " + strError.ToString());
                                        this.Cursor = null;
                                        return;
                                    }

                                    if (checkInsert == true)
                                    {
                                        //CD
                                        strBCS = "CD";
                                        nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                        ID_CHISO = nextSEQChiso;
                                        Id_chisoCDKy2 = nextSEQChiso;
                                        dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                        dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                        sanluongKy = sanluongCDKy2;
                                        //Ky = Ky2;
                                        if (countKyTruoc == 2)
                                        {
                                            Ky = Ky2;
                                        }
                                        else
                                        {
                                            Ky = Ky21;
                                        }
                                        CHISO_CU = 0;
                                        CHISO_MOI = 0;
                                        intGiobd = intGiobd2;
                                        intPhutbd = intPhutbd2;
                                        intGiokt = intGiokt2;
                                        intPhutkt = intPhutkt2;

                                        setEntity_CHISO("btnGhi");

                                        checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                        if (checkInsert == false)
                                        {
                                            MessageBox.Show(strError);
                                            Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                            this.Cursor = null;
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("Không ghi được dữ liệu sản lượng BT kỳ II " + strError.ToString());
                                        this.Cursor = null;
                                        return;
                                    }

                                    if (checkInsert == true)
                                    {
                                        //TD
                                        strBCS = "TD";
                                        nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                        ID_CHISO = nextSEQChiso;
                                        Id_chisoTDKy2 = nextSEQChiso;
                                        dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                        dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                        sanluongKy = sanluongTDKy2;
                                        //Ky = Ky2;
                                        if (countKyTruoc == 2)
                                        {
                                            Ky = Ky2;
                                        }
                                        else
                                        {
                                            Ky = Ky21;
                                        }
                                        CHISO_CU = 0;
                                        CHISO_MOI = 0;
                                        intGiobd = intGiobd2;
                                        intPhutbd = intPhutbd2;
                                        intGiokt = intGiokt2;
                                        intPhutkt = intPhutkt2;

                                        setEntity_CHISO("btnGhi");

                                        checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                        if (checkInsert == false)
                                        {
                                            MessageBox.Show(strError);
                                            Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                            this.Cursor = null;
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("Không ghi được dữ liệu sản lượng CD kỳ II " + strError.ToString());
                                        this.Cursor = null;
                                        return;
                                    }

                                    if (checkInsert == true)
                                    {
                                        //SG
                                        strBCS = "SG";
                                        nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                        ID_CHISO = nextSEQChiso;
                                        Id_chisoSGKy2 = nextSEQChiso;
                                        dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                        dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                        sanluongKy = sanluongSGKy2;
                                        //Ky = Ky2;
                                        if (countKyTruoc == 2)
                                        {
                                            Ky = Ky2;
                                        }
                                        else
                                        {
                                            Ky = Ky21;
                                        }
                                        CHISO_CU = 0;
                                        CHISO_MOI = 0;
                                        intGiobd = intGiobd2;
                                        intPhutbd = intPhutbd2;
                                        intGiokt = intGiokt2;
                                        intPhutkt = intPhutkt2;

                                        setEntity_CHISO("btnGhi");

                                        if (checkInsert == false)
                                        {
                                            MessageBox.Show(strError);
                                            Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                            this.Cursor = null;
                                            return;
                                        }
                                        checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                    }
                                    else
                                    {
                                        MessageBox.Show("Không ghi được dữ liệu sản lượng CD kỳ II " + strError.ToString());
                                        this.Cursor = null;
                                        return;
                                    }

                                    if (checkInsert == true)
                                    {
                                        //VC
                                        strBCS = "VC";
                                        nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                        ID_CHISO = nextSEQChiso;
                                        Id_chisoVCKy2 = nextSEQChiso;
                                        dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                        dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                        sanluongKy = sanluongVCKy2;
                                        //Ky = Ky2;
                                        if (countKyTruoc == 2)
                                        {
                                            Ky = Ky2;
                                        }
                                        else
                                        {
                                            Ky = Ky21;
                                        }
                                        CHISO_CU = 0;
                                        CHISO_MOI = 0;
                                        intGiobd = intGiobd2;
                                        intPhutbd = intPhutbd2;
                                        intGiokt = intGiokt2;
                                        intPhutkt = intPhutkt2;

                                        setEntity_CHISO("btnGhi");

                                        checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                        if (checkInsert == false)
                                        {
                                            MessageBox.Show(strError);
                                            Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                            this.Cursor = null;
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("Không ghi được dữ liệu sản lượng SG kỳ II " + strError.ToString());
                                        this.Cursor = null;
                                        return;
                                    }

                                    if (checkInsert == false)
                                    {
                                        MessageBox.Show("Không ghi được dữ liệu sản lượng VC kỳ II " + strError.ToString());
                                        this.Cursor = null;
                                        return;
                                    }
                                }
                                else
                                    if (countKy >= 3)
                                    {
                                        // ghi du lieu ky 1
                                        //BT
                                        strBCS = "BT";
                                        nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                        ID_CHISO = nextSEQChiso;
                                        Id_chisoBTKy1 = nextSEQChiso;
                                        dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                        dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                        sanluongKy = sanluongBTKy1;
                                        Ky = Ky1;
                                        CHISO_CU = 0;
                                        CHISO_MOI = 0;
                                        intGiobd = intGiobd1;
                                        intPhutbd = intPhutbd1;
                                        intGiokt = intGiokt1;
                                        intPhutkt = intPhutkt1;

                                        setEntity_CHISO("btnGhi");

                                        checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                        if (checkInsert == false)
                                        {
                                            MessageBox.Show(strError);
                                            Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == true)
                                        {
                                            //CD
                                            strBCS = "CD";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoCDKy1 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                            sanluongKy = sanluongCDKy1;
                                            Ky = Ky1;
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd1;
                                            intPhutbd = intPhutbd1;
                                            intGiokt = intGiokt1;
                                            intPhutkt = intPhutkt1;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng BT kỳ I " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == true)
                                        {
                                            //TD
                                            strBCS = "TD";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoTDKy1 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                            sanluongKy = sanluongTDKy1;
                                            Ky = Ky1;
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd1;
                                            intPhutbd = intPhutbd1;
                                            intGiokt = intGiokt1;
                                            intPhutkt = intPhutkt1;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng CD kỳ I " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == true)
                                        {
                                            //SG
                                            strBCS = "SG";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoSGKy1 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                            sanluongKy = sanluongSGKy1;
                                            Ky = Ky1;
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd1;
                                            intPhutbd = intPhutbd1;
                                            intGiokt = intGiokt1;
                                            intPhutkt = intPhutkt1;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng TD kỳ I " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == true)
                                        {
                                            //VC
                                            strBCS = "VC";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoVCKy1 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                            sanluongKy = sanluongVCKy1;
                                            Ky = Ky1;
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd1;
                                            intPhutbd = intPhutbd1;
                                            intGiokt = intGiokt1;
                                            intPhutkt = intPhutkt1;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng SG kỳ I " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }


                                        // ky 2                                
                                        if (checkInsert == true)
                                        {
                                            //BT
                                            strBCS = "BT";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoBTKy2 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                            sanluongKy = sanluongBTKy2;
                                            //Ky = Ky2;
                                            if (countKyTruoc == 1)
                                            {
                                                Ky = Ky21;
                                            }
                                            else
                                            {
                                                Ky = Ky2;
                                            }
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd2;
                                            intPhutbd = intPhutbd2;
                                            intGiokt = intGiokt2;
                                            intPhutkt = intPhutkt2;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng SG kỳ I " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == true)
                                        {
                                            //CD
                                            strBCS = "CD";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoCDKy2 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                            sanluongKy = sanluongCDKy2;
                                            //Ky = Ky2;
                                            if (countKyTruoc == 1)
                                            {
                                                Ky = Ky21;
                                            }
                                            else
                                            {
                                                Ky = Ky2;
                                            }
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd2;
                                            intPhutbd = intPhutbd2;
                                            intGiokt = intGiokt2;
                                            intPhutkt = intPhutkt2;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng BT kỳ II " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == true)
                                        {
                                            //TD
                                            strBCS = "TD";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoTDKy2 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                            sanluongKy = sanluongTDKy2;
                                            //Ky = Ky2;
                                            if (countKyTruoc == 1)
                                            {
                                                Ky = Ky21;
                                            }
                                            else
                                            {
                                                Ky = Ky2;
                                            }
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd2;
                                            intPhutbd = intPhutbd2;
                                            intGiokt = intGiokt2;
                                            intPhutkt = intPhutkt2;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }

                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng CD kỳ II " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == true)
                                        {
                                            //SG
                                            strBCS = "SG";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoSGKy2 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                            sanluongKy = sanluongSGKy2;
                                            //Ky = Ky2;
                                            if (countKyTruoc == 1)
                                            {
                                                Ky = Ky21;
                                            }
                                            else
                                            {
                                                Ky = Ky2;
                                            }
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd2;
                                            intPhutbd = intPhutbd2;
                                            intGiokt = intGiokt2;
                                            intPhutkt = intPhutkt2;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng TD kỳ II " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == true)
                                        {
                                            //VC
                                            strBCS = "VC";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoVCKy2 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                            sanluongKy = sanluongVCKy2;
                                            //Ky = Ky2;
                                            if (countKyTruoc == 1)
                                            {
                                                Ky = Ky21;
                                            }
                                            else
                                            {
                                                Ky = Ky2;
                                            }
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd2;
                                            intPhutbd = intPhutbd2;
                                            intGiokt = intGiokt2;
                                            intPhutkt = intPhutkt2;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng SG kỳ II " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }


                                        // ky3
                                        if (checkInsert == true)
                                        {
                                            //BT
                                            strBCS = "BT";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoBTKy3 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay3.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay3.SelectedDate.Value.Date;
                                            sanluongKy = sanluongBTKy3;
                                            //Ky = Ky3;
                                            if (countKyTruoc == 1)
                                            {
                                                Ky = Ky22;
                                            }
                                            else
                                                if (countKyTruoc == 2)
                                                {
                                                    Ky = Ky21;
                                                }
                                                else
                                                {
                                                    Ky = Ky3;
                                                }
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd3;
                                            intPhutbd = intPhutbd3;
                                            intGiokt = intGiokt3;
                                            intPhutkt = intPhutkt3;
                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng VC kỳ II " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == true)
                                        {
                                            //CD
                                            strBCS = "CD";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoCDKy3 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay3.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay3.SelectedDate.Value.Date;
                                            sanluongKy = sanluongCDKy3;
                                            //Ky = Ky3;
                                            if (countKyTruoc == 1)
                                            {
                                                Ky = Ky22;
                                            }
                                            else
                                                if (countKyTruoc == 2)
                                                {
                                                    Ky = Ky21;
                                                }
                                                else
                                                {
                                                    Ky = Ky3;
                                                }
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd3;
                                            intPhutbd = intPhutbd3;
                                            intGiokt = intGiokt3;
                                            intPhutkt = intPhutkt3;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng BT kỳ III " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == true)
                                        {
                                            //TD
                                            strBCS = "TD";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoTDKy3 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay3.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay3.SelectedDate.Value.Date;
                                            sanluongKy = sanluongTDKy3;
                                            //Ky = Ky3;
                                            if (countKyTruoc == 1)
                                            {
                                                Ky = Ky22;
                                            }
                                            else
                                                if (countKyTruoc == 2)
                                                {
                                                    Ky = Ky21;
                                                }
                                                else
                                                {
                                                    Ky = Ky3;
                                                }
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd3;
                                            intPhutbd = intPhutbd3;
                                            intGiokt = intGiokt3;
                                            intPhutkt = intPhutkt3;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng CD kỳ III " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == true)
                                        {
                                            //SG
                                            strBCS = "SG";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoSGKy3 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay3.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay3.SelectedDate.Value.Date;
                                            sanluongKy = sanluongSGKy3;
                                            //Ky = Ky3;
                                            if (countKyTruoc == 1)
                                            {
                                                Ky = Ky22;
                                            }
                                            else
                                                if (countKyTruoc == 2)
                                                {
                                                    Ky = Ky21;
                                                }
                                                else
                                                {
                                                    Ky = Ky3;
                                                }
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd3;
                                            intPhutbd = intPhutbd3;
                                            intGiokt = intGiokt3;
                                            intPhutkt = intPhutkt3;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng TD kỳ III " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == true)
                                        {
                                            //VC
                                            strBCS = "VC";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoVCKy3 = nextSEQChiso;
                                            dtNgayDKY = dtpTungay3.SelectedDate.Value.Date;
                                            dtNgayCKY = dtpDenngay3.SelectedDate.Value.Date;
                                            sanluongKy = sanluongVCKy3;
                                            //Ky = Ky3;
                                            if (countKyTruoc == 1)
                                            {
                                                Ky = Ky22;
                                            }
                                            else
                                                if (countKyTruoc == 2)
                                                {
                                                    Ky = Ky21;
                                                }
                                                else
                                                {
                                                    Ky = Ky3;
                                                }
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = intGiobd3;
                                            intPhutbd = intPhutbd3;
                                            intGiokt = intGiokt3;
                                            intPhutkt = intPhutkt3;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng SG kỳ III " + strError.ToString());
                                            this.Cursor = null;
                                            return;
                                        }

                                        if (checkInsert == false)
                                        {
                                            MessageBox.Show("Không ghi được dữ liệu sản lượng VC kỳ III " + strError.ToString());
                                            return;
                                        }

                                    }
                            #endregion

                            #region ======== Ghi dòng chỉ số gần nhất, chỉ số tháo => KY = 0

                            if (checkInsert == true)
                            {
                                //BT
                                strBCS = "BT";
                                nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                ID_CHISO = nextSEQChiso;
                                Id_chisoBTKy0 = nextSEQChiso;
                                dtNgayDKY = dtNgayCKY_gannhat;
                                dtNgayCKY = dtpDenngayct.SelectedDate.HasValue ? dtpDenngayct.SelectedDate.Value.Date : Convert.ToDateTime("01/01/1000");
                                sanluongKy = SanluongBTDocduoc;
                                Ky = Ky0;
                                CHISO_CU = ChisogannhatBT;
                                CHISO_MOI = ChisothaoBT;
                                intGiobd = intGiokygannhat;
                                intPhutbd = intPhutkygannhat;
                                intGiokt = intGioDocduoc;
                                intPhutkt = intPhutDocduoc;

                                setEntity_CHISO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                if (checkInsert == false)
                                {
                                    MessageBox.Show(strError);
                                    Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                    this.Cursor = null;
                                    return;
                                }
                            }

                            if (checkInsert == true)
                            {
                                //CD
                                strBCS = "CD";
                                nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                ID_CHISO = nextSEQChiso;
                                Id_chisoCDKy0 = nextSEQChiso;
                                dtNgayDKY = dtNgayCKY_gannhat;
                                dtNgayCKY = dtpDenngayct.SelectedDate.HasValue ? dtpDenngayct.SelectedDate.Value.Date : Convert.ToDateTime("01/01/1000");
                                sanluongKy = SanluongCDDocduoc;
                                Ky = Ky0;
                                CHISO_CU = ChisogannhatCD;
                                CHISO_MOI = ChisothaoCD;
                                intGiobd = intGiokygannhat;
                                intPhutbd = intPhutkygannhat;
                                intGiokt = intGioDocduoc;
                                intPhutkt = intPhutDocduoc;

                                setEntity_CHISO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                if (checkInsert == false)
                                {
                                    MessageBox.Show(strError);
                                    Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                    this.Cursor = null;
                                    return;
                                }
                            }
                            else
                            {
                                MessageBox.Show("Không ghi được dữ liệu sản lượng BT kỳ 0 " + strError.ToString());
                                this.Cursor = null;
                                return;
                            }

                            if (checkInsert == true)
                            {
                                //TD
                                strBCS = "TD";
                                nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                ID_CHISO = nextSEQChiso;
                                Id_chisoTDKy0 = nextSEQChiso;
                                dtNgayDKY = dtNgayCKY_gannhat;
                                dtNgayCKY = dtpDenngayct.SelectedDate.HasValue ? dtpDenngayct.SelectedDate.Value.Date : Convert.ToDateTime("01/01/1000");
                                sanluongKy = SanluongTDDocduoc;
                                Ky = Ky0;
                                CHISO_CU = ChisogannhatTD;
                                CHISO_MOI = ChisothaoTD;
                                intGiobd = intGiokygannhat;
                                intPhutbd = intPhutkygannhat;
                                intGiokt = intGioDocduoc;
                                intPhutkt = intPhutDocduoc;

                                setEntity_CHISO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                if (checkInsert == false)
                                {
                                    MessageBox.Show(strError);
                                    Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                    this.Cursor = null;
                                    return;
                                }
                            }

                            else
                            {
                                MessageBox.Show("Không ghi được dữ liệu sản lượng CD kỳ 0 " + strError.ToString());
                                this.Cursor = null;
                                return;
                            }

                            if (checkInsert == true)
                            {
                                //SG
                                strBCS = "SG";
                                nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                ID_CHISO = nextSEQChiso;
                                Id_chisoSGKy0 = nextSEQChiso;
                                dtNgayDKY = dtNgayCKY_gannhat;
                                dtNgayCKY = dtpDenngayct.SelectedDate.HasValue ? dtpDenngayct.SelectedDate.Value.Date : Convert.ToDateTime("01/01/1000");
                                sanluongKy = SanluongSGDocduoc;
                                Ky = Ky0;
                                CHISO_CU = ChisogannhatSG;
                                CHISO_MOI = ChisothaoSG;
                                intGiobd = intGiokygannhat;
                                intPhutbd = intPhutkygannhat;
                                intGiokt = intGioDocduoc;
                                intPhutkt = intPhutDocduoc;

                                setEntity_CHISO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                if (checkInsert == false)
                                {
                                    MessageBox.Show(strError);
                                    Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                    this.Cursor = null;
                                    return;
                                }
                            }
                            else
                            {
                                MessageBox.Show("Không ghi được dữ liệu sản lượng TD kỳ 0 " + strError.ToString());
                                this.Cursor = null;
                                return;
                            }

                            if (checkInsert == true)
                            {
                                //VC
                                strBCS = "VC";
                                nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                ID_CHISO = nextSEQChiso;
                                Id_chisoVCKy0 = nextSEQChiso;
                                dtNgayDKY = dtNgayCKY_gannhat;
                                dtNgayCKY = dtpDenngayct.SelectedDate.HasValue ? dtpDenngayct.SelectedDate.Value.Date : Convert.ToDateTime("01/01/1000");
                                sanluongKy = SanluongVCDocduoc;
                                Ky = Ky0;
                                CHISO_CU = ChisogannhatVC;
                                CHISO_MOI = ChisothaoVC;
                                intGiobd = intGiokygannhat;
                                intPhutbd = intPhutkygannhat;
                                intGiokt = intGioDocduoc;
                                intPhutkt = intPhutDocduoc;

                                setEntity_CHISO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                if (checkInsert == false)
                                {
                                    MessageBox.Show(strError);
                                    Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                    this.Cursor = null;
                                    return;
                                }
                            }
                            else
                            {
                                MessageBox.Show("Không ghi được dữ liệu sản lượng SG kỳ 0 " + strError.ToString());
                                this.Cursor = null;
                                return;
                            }

                            if (checkInsert == false)
                            {
                                MessageBox.Show("Không ghi được dữ liệu sản lượng VC kỳ 0 " + strError.ToString());
                                return;
                            }

                            #endregion

                            #region ====== Ghi dữ liệu kỳ gần nhất ko tròn kỳ => KY = 10

                            if (dsCancu.Tables.Contains("DDN"))
                            {
                                if (dsCancu.Tables["DDN"].Rows.Count > 0)
                                {
                                    DataRow[] drBT = dsCancu.Tables["DDN"].Select("BCS = 'BT'");
                                    DataRow[] drCD = dsCancu.Tables["DDN"].Select("BCS = 'CD'");
                                    DataRow[] drTD = dsCancu.Tables["DDN"].Select("BCS = 'TD'");
                                    DataRow[] drSG = dsCancu.Tables["DDN"].Select("BCS = 'SG'");
                                    DataRow[] drVC = dsCancu.Tables["DDN"].Select("BCS = 'VC'");

                                    strLoaiCSKy10 = dsCancu.Tables["CHI_SO"].Rows[0]["LOAI_CHISO"].ToString();

                                    if (drBT.Count() > 0)
                                    {
                                        if (checkInsert == true)
                                        {
                                            //BT
                                            strBCS = "BT";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoBTKy10 = nextSEQChiso;
                                            dtNgayDKY = Convert.ToDateTime(drBT[0]["NGAY_DKY"]);
                                            dtNgayCKY = Convert.ToDateTime(drBT[0]["NGAY_CKY"]);
                                            sanluongKy = Convert.ToDouble(drBT[0]["SLUONG_END"]);
                                            Ky = 10;
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = 0;
                                            intPhutbd = 0;
                                            intGiokt = 0;
                                            intPhutkt = 0;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }

                                    }

                                    if (drCD.Count() > 0)
                                    {
                                        if (checkInsert == true)
                                        {
                                            //CD
                                            strBCS = "CD";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoCDKy10 = nextSEQChiso;
                                            dtNgayDKY = Convert.ToDateTime(drCD[0]["NGAY_DKY"]);
                                            dtNgayCKY = Convert.ToDateTime(drCD[0]["NGAY_CKY"]);
                                            sanluongKy = Convert.ToDouble(drCD[0]["SLUONG_END"]);
                                            Ky = 10;
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = 0;
                                            intPhutbd = 0;
                                            intGiokt = 0;
                                            intPhutkt = 0;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            this.Cursor = null;
                                            MessageBox.Show("Không ghi được chỉ số kỳ 10 BT");
                                            return;
                                        }
                                    }

                                    if (drTD.Count() > 0)
                                    {
                                        if (checkInsert == true)
                                        {
                                            //TD
                                            strBCS = "TD";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoTDKy10 = nextSEQChiso;
                                            dtNgayDKY = Convert.ToDateTime(drTD[0]["NGAY_DKY"]);
                                            dtNgayCKY = Convert.ToDateTime(drTD[0]["NGAY_CKY"]);
                                            sanluongKy = Convert.ToDouble(drTD[0]["SLUONG_END"]);
                                            Ky = 10;
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = 0;
                                            intPhutbd = 0;
                                            intGiokt = 0;
                                            intPhutkt = 0;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            this.Cursor = null;
                                            MessageBox.Show("Không ghi được chỉ số kỳ 10 CD");
                                            return;
                                        }
                                    }

                                    if (drSG.Count() > 0)
                                    {
                                        if (checkInsert == true)
                                        {
                                            //SG
                                            strBCS = "SG";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoSGKy10 = nextSEQChiso;
                                            dtNgayDKY = Convert.ToDateTime(drSG[0]["NGAY_DKY"]);
                                            dtNgayCKY = Convert.ToDateTime(drSG[0]["NGAY_CKY"]);
                                            sanluongKy = Convert.ToDouble(drSG[0]["SLUONG_END"]);
                                            Ky = 10;
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = 0;
                                            intPhutbd = 0;
                                            intGiokt = 0;
                                            intPhutkt = 0;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            this.Cursor = null;
                                            MessageBox.Show("Không ghi được chỉ số kỳ 10 TD");
                                            return;
                                        }
                                    }

                                    if (drVC.Count() > 0)
                                    {
                                        if (checkInsert == true)
                                        {
                                            //VC
                                            strBCS = "VC";
                                            nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                            ID_CHISO = nextSEQChiso;
                                            Id_chisoVCKy10 = nextSEQChiso;
                                            dtNgayDKY = Convert.ToDateTime(drVC[0]["NGAY_DKY"]);
                                            dtNgayCKY = Convert.ToDateTime(drVC[0]["NGAY_CKY"]);
                                            sanluongKy = Convert.ToDouble(drVC[0]["SLUONG_END"]);
                                            Ky = 10;
                                            CHISO_CU = 0;
                                            CHISO_MOI = 0;
                                            intGiobd = 0;
                                            intPhutbd = 0;
                                            intGiokt = 0;
                                            intPhutkt = 0;

                                            setEntity_CHISO("btnGhi");

                                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show(strError);
                                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                                this.Cursor = null;
                                                return;
                                            }

                                            if (checkInsert == false)
                                            {
                                                MessageBox.Show("Không ghi được chỉ số kỳ 10 VC" + strError.ToString());
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            this.Cursor = null;
                                            MessageBox.Show("Không ghi được chỉ số kỳ 10 SG" + strError.ToString());
                                            return;
                                        }
                                    }
                                }
                                else
                                {
                                    strLoaiCSKy10 = "";
                                }
                            }

                            #endregion
                        }
                    }

                    if (rdbTutinh.IsChecked == false && rdbThoaihoan.IsChecked == false) // thong thuong
                    {
                        #region ========= dữ liệu điểm đo NPC_TRTH_DDO  ==========

                        if (checkInsert == true)
                        {
                            // BT
                            strBCS = "BT";
                            TongsoGiocacKy = TongsoGioBTcacKy;
                            SogioTruythu = SogioBT_TT;
                            TongsanluongcacKy = TongsanluongBTcacKy;
                            SanluongTT = SanluongBT_TT;
                            SanluongDocduoc = SanluongBTDocduoc;
                            if (checkDocchiso == true && checkDoctgian == true)
                            {
                                if (PhuongphapTT == 0) // truy thu thong thuong
                                {
                                    dtNgayTT_tu = dtpDenngayct.SelectedDate.Value.Date;
                                    intGioTTtu = intGioDocduoc;
                                    intPhutTTtu = intPhutDocduoc;
                                }
                                else // truy thu theo bieu tong -> truy thu từ ngày ghi gần nhất
                                {
                                    dtNgayTT_tu = dtNgayghigannhat;
                                    intGioTTtu = intGiokygannhat;
                                    intPhutTTtu = intPhutkygannhat;
                                }
                            }
                            else
                            {
                                dtNgayTT_tu = dtNgayghigannhat;
                                intGioTTtu = intGiokygannhat;
                                intPhutTTtu = intPhutkygannhat;
                            }
                            dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                            intGioTTden = intGiostop;
                            intPhutTTden = intPhutstop;
                            sogiomatdienKy = sogiomatdienBT_Ky;
                            SogiomatdienTruythu = sogiomatdienBT_TT;
                            Thanhtien = ThanhtienBT;
                            ThanhtienTRuSLThao = ThanhtienBTTRuSLThao;
                            strChuoi_tinhtien = strChuoi_tinhtienBT;

                            setEntity_DDO("btnGhi");

                            checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);
                            if (checkInsert == false)
                            {
                                MessageBox.Show(strError);
                                Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                this.Cursor = null;
                                return;
                            }

                            if (checkInsert == true)
                            {
                                // CD
                                strBCS = "CD";
                                TongsoGiocacKy = TongsoGioCDcacKy;
                                SogioTruythu = SogioCD_TT;
                                TongsanluongcacKy = TongsanluongCDcacKy;
                                SanluongTT = SanluongCD_TT;
                                SanluongDocduoc = SanluongCDDocduoc;
                                if (checkDocchiso == true && checkDoctgian == true)
                                {
                                    if (PhuongphapTT == 0) // truy thu thong thuong
                                    {
                                        dtNgayTT_tu = dtpDenngayct.SelectedDate.Value.Date;
                                        intGioTTtu = intGioDocduoc;
                                        intPhutTTtu = intPhutDocduoc;
                                    }
                                    else // truy thu theo bieu tong -> truy thu từ ngày ghi gần nhất
                                    {
                                        dtNgayTT_tu = dtNgayghigannhat;
                                        intGioTTtu = intGiokygannhat;
                                        intPhutTTtu = intPhutkygannhat;
                                    }
                                }
                                else
                                {
                                    dtNgayTT_tu = dtNgayghigannhat;
                                    intGioTTtu = intGiokygannhat;
                                    intPhutTTtu = intPhutkygannhat;
                                }
                                dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                intGioTTden = intGiostop;
                                intPhutTTden = intPhutstop;
                                sogiomatdienKy = sogiomatdienCD_Ky;
                                SogiomatdienTruythu = sogiomatdienCD_TT;
                                Thanhtien = ThanhtienCD;
                                ThanhtienTRuSLThao = ThanhtienCDTRuSLThao;
                                strChuoi_tinhtien = strChuoi_tinhtienCD;

                                setEntity_DDO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);
                                if (checkInsert == false)
                                {
                                    MessageBox.Show(strError);
                                    Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                    this.Cursor = null;
                                    return;
                                }

                            }

                            if (checkInsert == true)
                            {
                                // TD
                                strBCS = "TD";
                                TongsoGiocacKy = TongsoGioTDcacKy;
                                SogioTruythu = SogioTD_TT;
                                TongsanluongcacKy = TongsanluongTDcacKy;
                                SanluongTT = SanluongTD_TT;
                                SanluongDocduoc = SanluongTDDocduoc;
                                //dtNgayTT_tu = dtNgayghigannhat;
                                //intGioTTtu = intGiokygannhat;
                                //intPhutTTtu = intPhutkygannhat;
                                if (checkDocchiso == true && checkDoctgian == true)
                                {
                                    if (PhuongphapTT == 0) // truy thu thong thuong
                                    {
                                        dtNgayTT_tu = dtpDenngayct.SelectedDate.Value.Date;
                                        intGioTTtu = intGioDocduoc;
                                        intPhutTTtu = intPhutDocduoc;
                                    }
                                    else // truy thu theo bieu tong -> truy thu từ ngày ghi gần nhất
                                    {
                                        dtNgayTT_tu = dtNgayghigannhat;
                                        intGioTTtu = intGiokygannhat;
                                        intPhutTTtu = intPhutkygannhat;
                                    }
                                }
                                else
                                {
                                    dtNgayTT_tu = dtNgayghigannhat;
                                    intGioTTtu = intGiokygannhat;
                                    intPhutTTtu = intPhutkygannhat;
                                }
                                dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                intGioTTden = intGiostop;
                                intPhutTTden = intPhutstop;
                                sogiomatdienKy = sogiomatdienTD_Ky;
                                SogiomatdienTruythu = sogiomatdienTD_TT;
                                Thanhtien = ThanhtienTD;
                                ThanhtienTRuSLThao = ThanhtienTDTRuSLThao;
                                strChuoi_tinhtien = strChuoi_tinhtienTD;

                                setEntity_DDO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);
                                if (checkInsert == false)
                                {
                                    MessageBox.Show(strError);
                                    Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                    this.Cursor = null;
                                    return;
                                }

                            }

                            if (checkInsert == true)
                            {
                                // SG
                                strBCS = "SG";
                                TongsoGiocacKy = TongsoGioSGcacKy;
                                SogioTruythu = SogioSG_TT;
                                TongsanluongcacKy = TongsanluongSGcacKy;
                                SanluongTT = SanluongSG_TT;
                                SanluongDocduoc = SanluongSGDocduoc;
                                if (checkDocchiso == true && checkDoctgian == true)
                                {
                                    if (PhuongphapTT == 0) // truy thu thong thuong
                                    {
                                        dtNgayTT_tu = dtpDenngayct.SelectedDate.Value.Date;
                                        intGioTTtu = intGioDocduoc;
                                        intPhutTTtu = intPhutDocduoc;
                                    }
                                    else // truy thu theo bieu tong -> truy thu từ ngày ghi gần nhất
                                    {
                                        dtNgayTT_tu = dtNgayghigannhat;
                                        intGioTTtu = intGiokygannhat;
                                        intPhutTTtu = intPhutkygannhat;
                                    }
                                }
                                else
                                {
                                    dtNgayTT_tu = dtNgayghigannhat;
                                    intGioTTtu = intGiokygannhat;
                                    intPhutTTtu = intPhutkygannhat;
                                }
                                dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                intGioTTden = intGiostop;
                                intPhutTTden = intPhutstop;
                                sogiomatdienKy = 0;
                                SogiomatdienTruythu = 0;
                                Thanhtien = 0;
                                ThanhtienTRuSLThao = 0;
                                strChuoi_tinhtien = " ";

                                setEntity_DDO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);
                                if (checkInsert == false)
                                {
                                    MessageBox.Show(strError);
                                    Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                    this.Cursor = null;
                                    return;
                                }

                            }

                            if (checkInsert == true)
                            {
                                // VC
                                strBCS = "VC";
                                TongsoGiocacKy = TongsoGioVCcacKy;
                                SogioTruythu = SogioVC_TT;
                                TongsanluongcacKy = TongsanluongVCcacKy;
                                SanluongTT = SanluongVC_TT;
                                SanluongDocduoc = SanluongVCDocduoc;
                                if (checkDocchiso == true && checkDoctgian == true)
                                {
                                    if (PhuongphapTT == 0) // truy thu thong thuong
                                    {
                                        dtNgayTT_tu = dtpDenngayct.SelectedDate.Value.Date;
                                        intGioTTtu = intGioDocduoc;
                                        intPhutTTtu = intPhutDocduoc;
                                    }
                                    else // truy thu theo bieu tong -> truy thu từ ngày ghi gần nhất
                                    {
                                        dtNgayTT_tu = dtNgayghigannhat;
                                        intGioTTtu = intGiokygannhat;
                                        intPhutTTtu = intPhutkygannhat;
                                    }
                                }
                                else
                                {
                                    dtNgayTT_tu = dtNgayghigannhat;
                                    intGioTTtu = intGiokygannhat;
                                    intPhutTTtu = intPhutkygannhat;
                                }
                                dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                intGioTTden = intGiostop;
                                intPhutTTden = intPhutstop;
                                sogiomatdienKy = 0;
                                SogiomatdienTruythu = 0;
                                Thanhtien = ThanhtienVC;
                                ThanhtienTRuSLThao = ThanhtienVCTRuSLThao;
                                strChuoi_tinhtien = " ";

                                setEntity_DDO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);
                                if (checkInsert == false)
                                {
                                    MessageBox.Show(strError);
                                    Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                    this.Cursor = null;
                                    return;
                                }

                            }

                            if (checkInsert == false)
                            {
                                this.Cursor = null;
                                MessageBox.Show("Không ghi được NPC_TRTH_DDO" + strError);
                                return;
                            }
                        }

                        #endregion
                    }
                    else
                        if (rdbTutinh.IsChecked == true) // tu tinh
                        {
                            #region ========= dữ liệu điểm đo NPC_TRTH_DDO tự tính ==========

                            if (checkInsert == true)
                            {
                                // BT
                                strBCS = "BT";
                                TongsoGiocacKy = 0;
                                SogioTruythu = 0;
                                TongsanluongcacKy = 0;
                                SanluongTT = Convert.ToDouble(txtSLBTtt.Text.Trim());
                                SanluongDocduoc = 0;

                                dtNgayTT_tu = Convert.ToDateTime("01/01/1000");
                                intGioTTtu = 0;
                                intPhutTTtu = 0;

                                dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                intGioTTden = Convert.ToInt32(txtGiostop.Text.Trim());
                                intPhutTTden = Convert.ToInt32(txtPhutstop.Text.Trim());
                                sogiomatdienKy = 0;
                                SogiomatdienTruythu = 0;
                                Thanhtien = Convert.ToDouble(txtTienBTtt.Text.Trim());
                                ThanhtienTRuSLThao = Convert.ToDouble(txtTienBTtt.Text.Trim());
                                strChuoi_tinhtien = " ";

                                setEntity_DDO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);
                                if (checkInsert == false)
                                {
                                    MessageBox.Show(strError);
                                    Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                    this.Cursor = null;
                                    return;
                                }

                                if (checkInsert == true)
                                {
                                    // CD
                                    strBCS = "CD";
                                    TongsoGiocacKy = 0;
                                    SogioTruythu = 0;
                                    TongsanluongcacKy = 0;
                                    SanluongTT = Convert.ToDouble(txtSLCDtt.Text.Trim());
                                    SanluongDocduoc = 0;

                                    dtNgayTT_tu = Convert.ToDateTime("01/01/1000");
                                    intGioTTtu = 0;
                                    intPhutTTtu = 0;

                                    dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                    intGioTTden = Convert.ToInt32(txtGiostop.Text.Trim());
                                    intPhutTTden = Convert.ToInt32(txtPhutstop.Text.Trim());
                                    sogiomatdienKy = 0;
                                    SogiomatdienTruythu = 0;
                                    Thanhtien = Convert.ToDouble(txtTienCDtt.Text.Trim());
                                    ThanhtienTRuSLThao = Convert.ToDouble(txtTienCDtt.Text.Trim());
                                    strChuoi_tinhtien = " ";

                                    setEntity_DDO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);

                                }

                                if (checkInsert == true)
                                {
                                    // TD
                                    strBCS = "TD";
                                    TongsoGiocacKy = 0;
                                    SogioTruythu = 0;
                                    TongsanluongcacKy = 0;
                                    SanluongTT = Convert.ToDouble(txtSLTDtt.Text.Trim());
                                    SanluongDocduoc = 0;

                                    dtNgayTT_tu = Convert.ToDateTime("01/01/1000");
                                    intGioTTtu = 0;
                                    intPhutTTtu = 0;

                                    dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                    intGioTTden = Convert.ToInt32(txtGiostop.Text.Trim());
                                    intPhutTTden = Convert.ToInt32(txtPhutstop.Text.Trim());
                                    sogiomatdienKy = 0;
                                    SogiomatdienTruythu = 0;
                                    Thanhtien = Convert.ToDouble(txtTienTDtt.Text.Trim());
                                    ThanhtienTRuSLThao = Convert.ToDouble(txtTienTDtt.Text.Trim());
                                    strChuoi_tinhtien = " ";

                                    setEntity_DDO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);
                                    if (checkInsert == false)
                                    {
                                        MessageBox.Show(strError);
                                        Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                        this.Cursor = null;
                                        return;
                                    }

                                }


                                if (checkInsert == false)
                                {
                                    this.Cursor = null;
                                    MessageBox.Show("Không ghi được NPC_TRTH_DDO" + strError);
                                    return;
                                }
                            }

                            #endregion
                        }
                        else
                            if (rdbThoaihoan.IsChecked == true)// thoai hoan
                            {
                                #region ======== Ghi dòng chỉ số gần nhất, chỉ số tháo => KY = 0

                                if (checkInsert == true)
                                {
                                    //BT
                                    strBCS = "BT";
                                    nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                    ID_CHISO = nextSEQChiso;
                                    Id_chisoBTKy0 = nextSEQChiso;
                                    dtNgayDKY = dtpTungayCancuTH.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngayCancuTH.SelectedDate.Value.Date;
                                    sanluongKy = 0;
                                    Ky = Ky0;
                                    CHISO_CU = 0;
                                    CHISO_MOI = Convert.ToDouble(txtBT_TH.Text.Trim());
                                    intGiobd = 0;
                                    intPhutbd = 0;
                                    intGiokt = 0;
                                    intPhutkt = 0;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                    if (checkInsert == false)
                                    {
                                        MessageBox.Show(strError);
                                        Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                        this.Cursor = null;
                                        return;
                                    }
                                }

                                if (checkInsert == true)
                                {
                                    //CD
                                    strBCS = "CD";
                                    nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                    ID_CHISO = nextSEQChiso;
                                    Id_chisoCDKy0 = nextSEQChiso;
                                    dtNgayDKY = dtpTungayCancuTH.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngayCancuTH.SelectedDate.Value.Date;
                                    sanluongKy = 0;
                                    Ky = Ky0;
                                    CHISO_CU = 0;
                                    CHISO_MOI = Convert.ToDouble(txtCD_TH.Text.Trim());
                                    intGiobd = 0;
                                    intPhutbd = 0;
                                    intGiokt = 0;
                                    intPhutkt = 0;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                    if (checkInsert == false)
                                    {
                                        MessageBox.Show(strError);
                                        Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                        this.Cursor = null;
                                        return;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Không ghi được dữ liệu sản lượng BT kỳ 0 " + strError.ToString());
                                    this.Cursor = null;
                                    return;
                                }

                                if (checkInsert == true)
                                {
                                    //TD
                                    strBCS = "TD";
                                    nextSEQChiso = GlobalServices.Service_Truythu.GetNextSEQ_NPC_TRTHU_CHISO(ref strError);
                                    ID_CHISO = nextSEQChiso;
                                    Id_chisoTDKy0 = nextSEQChiso;
                                    dtNgayDKY = dtpTungayCancuTH.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngayCancuTH.SelectedDate.Value.Date;
                                    sanluongKy = 0;
                                    Ky = Ky0;
                                    CHISO_CU = 0;
                                    CHISO_MOI = Convert.ToDouble(txtTD_TH.Text.Trim());
                                    intGiobd = 0;
                                    intPhutbd = 0;
                                    intGiokt = 0;
                                    intPhutkt = 0;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                    if (checkInsert == false)
                                    {
                                        MessageBox.Show(strError);
                                        Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                        this.Cursor = null;
                                        return;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Không ghi được dữ liệu sản lượng CD kỳ 0 " + strError.ToString());
                                    this.Cursor = null;
                                    return;
                                }                                

                                #endregion

                                #region ======== dữ liệu điểm đo NPC_TRTH_DDO thoái hoàn ==========
                                if (checkInsert == true)
                                {
                                    // BT
                                    strBCS = "BT";
                                    TongsoGiocacKy = 0;
                                    SogioTruythu = 0;
                                    TongsanluongcacKy = 0;
                                    SanluongTT = 0;
                                    SanluongDocduoc = 0;

                                    dtNgayTT_tu = Convert.ToDateTime("01/01/1000");
                                    intGioTTtu = 0;
                                    intPhutTTtu = 0;

                                    dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                    intGioTTden = Convert.ToInt32(txtGiostop.Text.Trim());
                                    intPhutTTden = Convert.ToInt32(txtPhutstop.Text.Trim());
                                    sogiomatdienKy = 0;
                                    SogiomatdienTruythu = 0;
                                    Thanhtien = Convert.ToDouble(txtTienTH.Text.Trim()) * Convert.ToDouble(-1);
                                    ThanhtienTRuSLThao = Convert.ToDouble(txtTienTH.Text.Trim()) * Convert.ToDouble(-1);
                                    strChuoi_tinhtien = " ";

                                    setEntity_DDO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.insert_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);
                                    if (checkInsert == false)
                                    {
                                        MessageBox.Show(strError);
                                        Del_Data_Inserted(Convert.ToInt64(txtMa_TT.Text));
                                        this.Cursor = null;
                                        return;
                                    }

                                    if (checkInsert == false)
                                    {
                                        this.Cursor = null;
                                        MessageBox.Show("Không ghi được NPC_TRTH_DDO" + strError);
                                        return;
                                    }
                                }
                                #endregion
                            }
                }
                else // =======  UPDATE =========
                {
                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_KHANG(dsNPC_TRTH_KHANG_Entity, ref strError);

                    if (rdbTutinh.IsChecked == false && rdbThoaihoan.IsChecked == false)//thong thuong
                    {
                        #region =========  dữ liệu chỉ số NPC_TRTH_CHISO  ==========

                        if (checkInsert == false)
                        {
                            MessageBox.Show("Không ghi được dữ liệu khách hàng" + strError.ToString());
                            this.Cursor = null;
                            return;
                        }
                        else
                        {
                            #region ===== dữ liệu NPC_TRTH_CHISO
                            if (countKy >= 1)
                            {
                                //BT
                                strBCS = "BT";
                                ID_CHISO = Id_chisoBTKy1;
                                dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                sanluongKy = sanluongBTKy1;
                                Ky = Ky1;
                                CHISO_CU = 0;
                                CHISO_MOI = 0;
                                intGiobd = intGiobd1;
                                intPhutbd = intPhutbd1;
                                intGiokt = intGiokt1;
                                intPhutkt = intPhutkt1;

                                setEntity_CHISO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);

                                if (checkInsert == true)
                                {
                                    //CD
                                    strBCS = "CD";
                                    ID_CHISO = Id_chisoCDKy1;
                                    dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                    sanluongKy = sanluongCDKy1;
                                    Ky = Ky1;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd1;
                                    intPhutbd = intPhutbd1;
                                    intGiokt = intGiokt1;
                                    intPhutkt = intPhutkt1;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //TD
                                    strBCS = "TD";
                                    ID_CHISO = Id_chisoTDKy1;
                                    dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                    sanluongKy = sanluongTDKy1;
                                    Ky = Ky1;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd1;
                                    intPhutbd = intPhutbd1;
                                    intGiokt = intGiokt1;
                                    intPhutkt = intPhutkt1;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //SG
                                    strBCS = "SG";
                                    ID_CHISO = Id_chisoSGKy1;
                                    dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                    sanluongKy = sanluongSGKy1;
                                    Ky = Ky1;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd1;
                                    intPhutbd = intPhutbd1;
                                    intGiokt = intGiokt1;
                                    intPhutkt = intPhutkt1;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //VC
                                    strBCS = "VC";
                                    ID_CHISO = Id_chisoVCKy1;
                                    dtNgayDKY = dtpTungay1.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay1.SelectedDate.Value.Date;
                                    sanluongKy = sanluongVCKy1;
                                    Ky = Ky1;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd1;
                                    intPhutbd = intPhutbd1;
                                    intGiokt = intGiokt1;
                                    intPhutkt = intPhutkt1;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == false)
                                {
                                    this.Cursor = null;
                                    MessageBox.Show("Không ghi được dữ liệu chỉ số căn cứ kỳ 1 " + strError);
                                    return;
                                }
                            }

                            if (countKy >= 2)
                            {
                                if (checkInsert == true)
                                {
                                    //BT
                                    strBCS = "BT";
                                    ID_CHISO = Id_chisoBTKy2;
                                    dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                    sanluongKy = sanluongBTKy2;
                                    Ky = Ky2;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd2;
                                    intPhutbd = intPhutbd2;
                                    intGiokt = intGiokt2;
                                    intPhutkt = intPhutkt2;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //CD
                                    strBCS = "CD";
                                    ID_CHISO = Id_chisoCDKy2;
                                    dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                    sanluongKy = sanluongCDKy2;
                                    Ky = Ky2;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd2;
                                    intPhutbd = intPhutbd2;
                                    intGiokt = intGiokt2;
                                    intPhutkt = intPhutkt2;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //TD
                                    strBCS = "TD";
                                    ID_CHISO = Id_chisoTDKy2;
                                    dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                    sanluongKy = sanluongTDKy2;
                                    Ky = Ky2;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd2;
                                    intPhutbd = intPhutbd2;
                                    intGiokt = intGiokt2;
                                    intPhutkt = intPhutkt2;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //SG
                                    strBCS = "SG";
                                    ID_CHISO = Id_chisoSGKy2;
                                    dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                    sanluongKy = sanluongSGKy2;
                                    Ky = Ky2;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd2;
                                    intPhutbd = intPhutbd2;
                                    intGiokt = intGiokt2;
                                    intPhutkt = intPhutkt2;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //VC
                                    strBCS = "VC";
                                    ID_CHISO = Id_chisoVCKy2;
                                    dtNgayDKY = dtpTungay2.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay2.SelectedDate.Value.Date;
                                    sanluongKy = sanluongVCKy2;
                                    Ky = Ky2;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd2;
                                    intPhutbd = intPhutbd2;
                                    intGiokt = intGiokt2;
                                    intPhutkt = intPhutkt2;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == false)
                                {
                                    this.Cursor = null;
                                    MessageBox.Show("Không ghi được dữ liệu chỉ số căn cứ kỳ 2 " + strError.ToString());
                                    return;
                                }
                            }

                            if (countKy >= 3)
                            {
                                if (checkInsert == true)
                                {
                                    //BT
                                    strBCS = "BT";
                                    ID_CHISO = Id_chisoBTKy3;
                                    dtNgayDKY = dtpTungay3.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay3.SelectedDate.Value.Date;
                                    sanluongKy = sanluongBTKy3;
                                    Ky = Ky3;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd3;
                                    intPhutbd = intPhutbd3;
                                    intGiokt = intGiokt3;
                                    intPhutkt = intPhutkt3;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //CD
                                    strBCS = "CD";
                                    ID_CHISO = Id_chisoCDKy3;
                                    dtNgayDKY = dtpTungay3.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay3.SelectedDate.Value.Date;
                                    sanluongKy = sanluongCDKy3;
                                    Ky = Ky3;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd3;
                                    intPhutbd = intPhutbd3;
                                    intGiokt = intGiokt3;
                                    intPhutkt = intPhutkt3;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //TD
                                    strBCS = "TD";
                                    ID_CHISO = Id_chisoTDKy3;
                                    dtNgayDKY = dtpTungay3.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay3.SelectedDate.Value.Date;
                                    sanluongKy = sanluongTDKy3;
                                    Ky = Ky3;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd3;
                                    intPhutbd = intPhutbd3;
                                    intGiokt = intGiokt3;
                                    intPhutkt = intPhutkt3;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //SG
                                    strBCS = "SG";
                                    ID_CHISO = Id_chisoSGKy3;
                                    dtNgayDKY = dtpTungay3.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay3.SelectedDate.Value.Date;
                                    sanluongKy = sanluongSGKy3;
                                    Ky = Ky3;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd3;
                                    intPhutbd = intPhutbd3;
                                    intGiokt = intGiokt3;
                                    intPhutkt = intPhutkt3;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //VC
                                    strBCS = "VC";
                                    ID_CHISO = Id_chisoVCKy3;
                                    dtNgayDKY = dtpTungay3.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngay3.SelectedDate.Value.Date;
                                    sanluongKy = sanluongVCKy3;
                                    Ky = Ky3;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = intGiobd3;
                                    intPhutbd = intPhutbd3;
                                    intGiokt = intGiokt3;
                                    intPhutkt = intPhutkt3;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == false)
                                {
                                    this.Cursor = null;
                                    MessageBox.Show("Không ghi được dữ liệu chỉ số căn cứ kỳ 3 " + strError.ToString());
                                    return;
                                }
                            }
                            #endregion

                            #region ======== Ghi dòng chỉ số gần nhất, chỉ số tháo => KY = 0

                            if (checkInsert == true)
                            {
                                //BT
                                strBCS = "BT";
                                ID_CHISO = Id_chisoBTKy0;
                                dtNgayDKY = dtNgayCKY_gannhat;
                                dtNgayCKY = dtpDenngayct.SelectedDate.HasValue ? dtpDenngayct.SelectedDate.Value.Date : Convert.ToDateTime("01/01/1000");
                                sanluongKy = SanluongBTDocduoc;
                                Ky = Ky0;
                                CHISO_CU = ChisogannhatBT;
                                CHISO_MOI = ChisothaoBT;
                                intGiobd = intGiokygannhat;
                                intPhutbd = intPhutkygannhat;
                                intGiokt = intGioDocduoc;
                                intPhutkt = intPhutDocduoc;

                                setEntity_CHISO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                            }

                            if (checkInsert == true)
                            {
                                //CD
                                strBCS = "CD";
                                ID_CHISO = Id_chisoCDKy0;
                                dtNgayDKY = dtNgayCKY_gannhat;
                                dtNgayCKY = dtpDenngayct.SelectedDate.HasValue ? dtpDenngayct.SelectedDate.Value.Date : Convert.ToDateTime("01/01/1000");
                                sanluongKy = SanluongCDDocduoc;
                                Ky = Ky0;
                                CHISO_CU = ChisogannhatCD;
                                CHISO_MOI = ChisothaoCD;
                                intGiobd = intGiokygannhat;
                                intPhutbd = intPhutkygannhat;
                                intGiokt = intGioDocduoc;
                                intPhutkt = intPhutDocduoc;

                                setEntity_CHISO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                            }

                            if (checkInsert == true)
                            {
                                //TD
                                strBCS = "TD";
                                ID_CHISO = Id_chisoTDKy0;
                                dtNgayDKY = dtNgayCKY_gannhat;
                                dtNgayCKY = dtpDenngayct.SelectedDate.HasValue ? dtpDenngayct.SelectedDate.Value.Date : Convert.ToDateTime("01/01/1000");
                                sanluongKy = SanluongTDDocduoc;
                                Ky = Ky0;
                                CHISO_CU = ChisogannhatTD;
                                CHISO_MOI = ChisothaoTD;
                                intGiobd = intGiokygannhat;
                                intPhutbd = intPhutkygannhat;
                                intGiokt = intGioDocduoc;
                                intPhutkt = intPhutDocduoc;

                                setEntity_CHISO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                            }

                            if (checkInsert == true)
                            {
                                //SG
                                strBCS = "SG";
                                ID_CHISO = Id_chisoSGKy0;
                                dtNgayDKY = dtNgayCKY_gannhat;
                                dtNgayCKY = dtpDenngayct.SelectedDate.HasValue ? dtpDenngayct.SelectedDate.Value.Date : Convert.ToDateTime("01/01/1000");
                                sanluongKy = SanluongSGDocduoc;
                                Ky = Ky0;
                                CHISO_CU = ChisogannhatSG;
                                CHISO_MOI = ChisothaoSG;
                                intGiobd = intGiokygannhat;
                                intPhutbd = intPhutkygannhat;
                                intGiokt = intGioDocduoc;
                                intPhutkt = intPhutDocduoc;

                                setEntity_CHISO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                            }

                            if (checkInsert == true)
                            {
                                //VC
                                strBCS = "VC";
                                ID_CHISO = Id_chisoVCKy0;
                                dtNgayDKY = dtNgayCKY_gannhat;
                                dtNgayCKY = dtpDenngayct.SelectedDate.HasValue ? dtpDenngayct.SelectedDate.Value.Date : Convert.ToDateTime("01/01/1000");
                                sanluongKy = SanluongVCDocduoc;
                                Ky = Ky0;
                                CHISO_CU = ChisogannhatVC;
                                CHISO_MOI = ChisothaoVC;
                                intGiobd = intGiokygannhat;
                                intPhutbd = intPhutkygannhat;
                                intGiokt = intGioDocduoc;
                                intPhutkt = intPhutDocduoc;

                                setEntity_CHISO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                            }

                            if (checkInsert == false)
                            {
                                this.Cursor = null;
                                MessageBox.Show("Không ghi được dữ liệu kỳ 0 !" + strError.ToString());
                                return;
                            }

                            #endregion

                            #region ======== Ghi dòng chỉ số gần nhất không tròn kỳ, chỉ số tháo => KY = 10

                            if (Id_chisoBTKy10 > 0) // có kỳ 10
                            {
                                if (checkInsert == true)
                                {
                                    //BT
                                    strBCS = "BT";
                                    ID_CHISO = Id_chisoBTKy10;
                                    dtNgayDKY = dtNgayDKY10;
                                    dtNgayCKY = dtNgayCKY10;
                                    sanluongKy = sanluongBTKy10;
                                    Ky = 10;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = 0;
                                    intPhutbd = 0;
                                    intGiokt = 0;
                                    intPhutkt = 0;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //CD
                                    strBCS = "CD";
                                    ID_CHISO = Id_chisoCDKy10;
                                    dtNgayDKY = dtNgayDKY10;
                                    dtNgayCKY = dtNgayCKY10;
                                    sanluongKy = sanluongCDKy10;
                                    Ky = 10;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = 0;
                                    intPhutbd = 0;
                                    intGiokt = 0;
                                    intPhutkt = 0;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //TD
                                    strBCS = "TD";
                                    ID_CHISO = Id_chisoTDKy10;
                                    dtNgayDKY = dtNgayDKY10;
                                    dtNgayCKY = dtNgayCKY10;
                                    sanluongKy = sanluongTDKy10;
                                    Ky = 10;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = 0;
                                    intPhutbd = 0;
                                    intGiokt = 0;
                                    intPhutkt = 0;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //SG
                                    strBCS = "SG";
                                    ID_CHISO = Id_chisoSGKy10;
                                    dtNgayDKY = dtNgayDKY10;
                                    dtNgayCKY = dtNgayCKY10;
                                    sanluongKy = sanluongSGKy10;
                                    Ky = 10;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = 0;
                                    intPhutbd = 0;
                                    intGiokt = 0;
                                    intPhutkt = 0;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //VC
                                    strBCS = "VC";
                                    ID_CHISO = Id_chisoVCKy10;
                                    dtNgayDKY = dtNgayDKY10;
                                    dtNgayCKY = dtNgayCKY10;
                                    sanluongKy = sanluongVCKy10;
                                    Ky = 10;
                                    CHISO_CU = 0;
                                    CHISO_MOI = 0;
                                    intGiobd = 0;
                                    intPhutbd = 0;
                                    intGiokt = 0;
                                    intPhutkt = 0;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == false)
                                {
                                    this.Cursor = null;
                                    MessageBox.Show("Không ghi được dữ liệu kỳ 10 !" + strError.ToString());
                                    return;
                                }
                            }

                            #endregion

                        }

                        #endregion

                        #region ========= dữ liệu điểm đo NPC_TRTH_DDO  ==========

                        if (checkInsert == true)
                        {
                            // BT
                            strBCS = "BT";
                            TongsoGiocacKy = TongsoGioBTcacKy;
                            SogioTruythu = SogioBT_TT;
                            TongsanluongcacKy = TongsanluongBTcacKy;
                            SanluongTT = SanluongBT_TT;
                            SanluongDocduoc = SanluongBTDocduoc;
                            //dtNgayTT_tu = dtNgayghigannhat;
                            //intGioTTtu = intGiokygannhat;
                            //intPhutTTtu = intPhutkygannhat;
                            if (checkDocchiso == true && checkDoctgian == true)
                            {
                                if (PhuongphapTT == 0) // truy thu thong thuong
                                {
                                    dtNgayTT_tu = dtpDenngayct.SelectedDate.Value.Date;
                                    intGioTTtu = intGioDocduoc;
                                    intPhutTTtu = intPhutDocduoc;
                                }
                                else // truy thu theo bieu tong -> truy thu từ ngày ghi gần nhất
                                {
                                    dtNgayTT_tu = dtNgayghigannhat;
                                    intGioTTtu = intGiokygannhat;
                                    intPhutTTtu = intPhutkygannhat;
                                }
                            }
                            else
                            {
                                dtNgayTT_tu = dtNgayghigannhat;
                                intGioTTtu = intGiokygannhat;
                                intPhutTTtu = intPhutkygannhat;
                            }
                            dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                            intGioTTden = intGiostop;
                            intPhutTTden = intPhutstop;
                            sogiomatdienKy = sogiomatdienBT_Ky;
                            SogiomatdienTruythu = sogiomatdienBT_TT;
                            Thanhtien = ThanhtienBT;
                            ThanhtienTRuSLThao = ThanhtienBTTRuSLThao;
                            strChuoi_tinhtien = strChuoi_tinhtienBT;

                            setEntity_DDO("btnGhi");

                            checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);

                            if (checkInsert == true)
                            {
                                // CD
                                strBCS = "CD";
                                TongsoGiocacKy = TongsoGioCDcacKy;
                                SogioTruythu = SogioCD_TT;
                                TongsanluongcacKy = TongsanluongCDcacKy;
                                SanluongTT = SanluongCD_TT;
                                SanluongDocduoc = SanluongCDDocduoc;
                                if (checkDocchiso == true && checkDoctgian == true)
                                {
                                    if (PhuongphapTT == 0) // truy thu thong thuong
                                    {
                                        dtNgayTT_tu = dtpDenngayct.SelectedDate.Value.Date;
                                        intGioTTtu = intGioDocduoc;
                                        intPhutTTtu = intPhutDocduoc;
                                    }
                                    else // truy thu theo bieu tong -> truy thu từ ngày ghi gần nhất
                                    {
                                        dtNgayTT_tu = dtNgayghigannhat;
                                        intGioTTtu = intGiokygannhat;
                                        intPhutTTtu = intPhutkygannhat;
                                    }
                                }
                                else
                                {
                                    dtNgayTT_tu = dtNgayghigannhat;
                                    intGioTTtu = intGiokygannhat;
                                    intPhutTTtu = intPhutkygannhat;
                                }
                                dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                intGioTTden = intGiostop;
                                intPhutTTden = intPhutstop;
                                sogiomatdienKy = sogiomatdienCD_Ky;
                                SogiomatdienTruythu = sogiomatdienCD_TT;
                                Thanhtien = ThanhtienCD;
                                ThanhtienTRuSLThao = ThanhtienCDTRuSLThao;
                                strChuoi_tinhtien = strChuoi_tinhtienCD;

                                setEntity_DDO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);

                            }

                            if (checkInsert == true)
                            {
                                // TD
                                strBCS = "TD";
                                TongsoGiocacKy = TongsoGioTDcacKy;
                                SogioTruythu = SogioTD_TT;
                                TongsanluongcacKy = TongsanluongTDcacKy;
                                SanluongTT = SanluongTD_TT;
                                SanluongDocduoc = SanluongTDDocduoc;
                                if (checkDocchiso == true && checkDoctgian == true)
                                {
                                    if (PhuongphapTT == 0) // truy thu thong thuong
                                    {
                                        dtNgayTT_tu = dtpDenngayct.SelectedDate.Value.Date;
                                        intGioTTtu = intGioDocduoc;
                                        intPhutTTtu = intPhutDocduoc;
                                    }
                                    else // truy thu theo bieu tong -> truy thu từ ngày ghi gần nhất
                                    {
                                        dtNgayTT_tu = dtNgayghigannhat;
                                        intGioTTtu = intGiokygannhat;
                                        intPhutTTtu = intPhutkygannhat;
                                    }
                                }
                                else
                                {
                                    dtNgayTT_tu = dtNgayghigannhat;
                                    intGioTTtu = intGiokygannhat;
                                    intPhutTTtu = intPhutkygannhat;
                                }
                                dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                intGioTTden = intGiostop;
                                intPhutTTden = intPhutstop;
                                sogiomatdienKy = sogiomatdienTD_Ky;
                                SogiomatdienTruythu = sogiomatdienTD_TT;
                                Thanhtien = ThanhtienTD;
                                ThanhtienTRuSLThao = ThanhtienTDTRuSLThao;
                                strChuoi_tinhtien = strChuoi_tinhtienTD;

                                setEntity_DDO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);

                            }

                            if (checkInsert == true)
                            {
                                // SG
                                strBCS = "SG";
                                TongsoGiocacKy = TongsoGioSGcacKy;
                                SogioTruythu = SogioSG_TT;
                                TongsanluongcacKy = TongsanluongSGcacKy;
                                SanluongTT = SanluongSG_TT;
                                SanluongDocduoc = SanluongSGDocduoc;
                                if (checkDocchiso == true && checkDoctgian == true)
                                {
                                    if (PhuongphapTT == 0) // truy thu thong thuong
                                    {
                                        dtNgayTT_tu = dtpDenngayct.SelectedDate.Value.Date;
                                        intGioTTtu = intGioDocduoc;
                                        intPhutTTtu = intPhutDocduoc;
                                    }
                                    else // truy thu theo bieu tong -> truy thu từ ngày ghi gần nhất
                                    {
                                        dtNgayTT_tu = dtNgayghigannhat;
                                        intGioTTtu = intGiokygannhat;
                                        intPhutTTtu = intPhutkygannhat;
                                    }
                                }
                                else
                                {
                                    dtNgayTT_tu = dtNgayghigannhat;
                                    intGioTTtu = intGiokygannhat;
                                    intPhutTTtu = intPhutkygannhat;
                                }
                                dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                intGioTTden = intGiostop;
                                intPhutTTden = intPhutstop;
                                sogiomatdienKy = 0;
                                SogiomatdienTruythu = 0;
                                Thanhtien = 0;
                                ThanhtienTRuSLThao = 0;
                                strChuoi_tinhtien = " ";

                                setEntity_DDO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);

                            }

                            if (checkInsert == true)
                            {
                                // VC
                                strBCS = "VC";
                                TongsoGiocacKy = TongsoGioVCcacKy;
                                SogioTruythu = SogioVC_TT;
                                TongsanluongcacKy = TongsanluongVCcacKy;
                                SanluongTT = SanluongVC_TT;
                                SanluongDocduoc = SanluongVCDocduoc;
                                if (checkDocchiso == true && checkDoctgian == true)
                                {
                                    if (PhuongphapTT == 0) // truy thu thong thuong
                                    {
                                        dtNgayTT_tu = dtpDenngayct.SelectedDate.Value.Date;
                                        intGioTTtu = intGioDocduoc;
                                        intPhutTTtu = intPhutDocduoc;
                                    }
                                    else // truy thu theo bieu tong -> truy thu từ ngày ghi gần nhất
                                    {
                                        dtNgayTT_tu = dtNgayghigannhat;
                                        intGioTTtu = intGiokygannhat;
                                        intPhutTTtu = intPhutkygannhat;
                                    }
                                }
                                else
                                {
                                    dtNgayTT_tu = dtNgayghigannhat;
                                    intGioTTtu = intGiokygannhat;
                                    intPhutTTtu = intPhutkygannhat;
                                }
                                dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                intGioTTden = intGiostop;
                                intPhutTTden = intPhutstop;
                                sogiomatdienKy = 0;
                                SogiomatdienTruythu = 0;
                                Thanhtien = ThanhtienVC;
                                ThanhtienTRuSLThao = ThanhtienVCTRuSLThao;
                                strChuoi_tinhtien = " ";

                                setEntity_DDO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);

                            }



                        }
                        #endregion
                    }
                    else
                        if (rdbTutinh.IsChecked == true) // tu tinh
                        {
                            #region ========= dữ liệu điểm đo NPC_TRTH_DDO tự tính ==========

                            if (checkInsert == true)
                            {
                                // BT
                                strBCS = "BT";
                                TongsoGiocacKy = 0;
                                SogioTruythu = 0;
                                TongsanluongcacKy = 0;
                                SanluongTT = Convert.ToDouble(txtSLBTtt.Text.Trim());
                                SanluongDocduoc = 0;

                                dtNgayTT_tu = Convert.ToDateTime("01/01/1000");
                                intGioTTtu = 0;
                                intPhutTTtu = 0;

                                dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                intGioTTden = Convert.ToInt32(txtGiostop.Text.Trim());
                                intPhutTTden = Convert.ToInt32(txtPhutstop.Text.Trim());
                                sogiomatdienKy = 0;
                                SogiomatdienTruythu = 0;
                                Thanhtien = Convert.ToDouble(txtTienBTtt.Text.Trim());
                                ThanhtienTRuSLThao = Convert.ToDouble(txtTienBTtt.Text.Trim());
                                strChuoi_tinhtien = " ";

                                setEntity_DDO("btnGhi");

                                checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);

                                if (checkInsert == true)
                                {
                                    // CD
                                    strBCS = "CD";
                                    TongsoGiocacKy = 0;
                                    SogioTruythu = 0;
                                    TongsanluongcacKy = 0;
                                    SanluongTT = Convert.ToDouble(txtSLCDtt.Text.Trim());
                                    SanluongDocduoc = 0;

                                    dtNgayTT_tu = Convert.ToDateTime("01/01/1000");
                                    intGioTTtu = 0;
                                    intPhutTTtu = 0;

                                    dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                    intGioTTden = Convert.ToInt32(txtGiostop.Text.Trim());
                                    intPhutTTden = Convert.ToInt32(txtPhutstop.Text.Trim());
                                    sogiomatdienKy = 0;
                                    SogiomatdienTruythu = 0;
                                    Thanhtien = Convert.ToDouble(txtTienCDtt.Text.Trim());
                                    ThanhtienTRuSLThao = Convert.ToDouble(txtTienCDtt.Text.Trim());
                                    strChuoi_tinhtien = " ";

                                    setEntity_DDO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);

                                }

                                if (checkInsert == true)
                                {
                                    // TD
                                    strBCS = "TD";
                                    TongsoGiocacKy = 0;
                                    SogioTruythu = 0;
                                    TongsanluongcacKy = 0;
                                    SanluongTT = Convert.ToDouble(txtSLTDtt.Text.Trim());
                                    SanluongDocduoc = 0;

                                    dtNgayTT_tu = Convert.ToDateTime("01/01/1000");
                                    intGioTTtu = 0;
                                    intPhutTTtu = 0;

                                    dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                    intGioTTden = Convert.ToInt32(txtGiostop.Text.Trim());
                                    intPhutTTden = Convert.ToInt32(txtPhutstop.Text.Trim());
                                    sogiomatdienKy = 0;
                                    SogiomatdienTruythu = 0;
                                    Thanhtien = Convert.ToDouble(txtTienTDtt.Text.Trim());
                                    ThanhtienTRuSLThao = Convert.ToDouble(txtTienTDtt.Text.Trim());
                                    strChuoi_tinhtien = " ";

                                    setEntity_DDO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);

                                }


                            }
                            #endregion
                        }
                        else
                            if (rdbThoaihoan.IsChecked == true) // thoai hoan
                            {
                                #region ======== Ghi dòng chỉ số gần nhất, chỉ số tháo => KY = 0

                                if (checkInsert == true)
                                {
                                    //BT
                                    strBCS = "BT";
                                    ID_CHISO = Id_chisoBTKy0;
                                    dtNgayDKY = dtpTungayCancuTH.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngayCancuTH.SelectedDate.Value.Date;
                                    sanluongKy = 0;
                                    Ky = Ky0;
                                    CHISO_CU = 0;
                                    CHISO_MOI = Convert.ToDouble(txtBT_TH.Text.Trim());
                                    intGiobd = 0;
                                    intPhutbd = 0;
                                    intGiokt = 0;
                                    intPhutkt = 0;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //CD
                                    strBCS = "CD";
                                    ID_CHISO = Id_chisoCDKy0;
                                    dtNgayDKY = dtpTungayCancuTH.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngayCancuTH.SelectedDate.Value.Date;
                                    sanluongKy = 0;
                                    Ky = Ky0;
                                    CHISO_CU = 0;
                                    CHISO_MOI = Convert.ToDouble(txtCD_TH.Text.Trim());
                                    intGiobd = 0;
                                    intPhutbd = 0;
                                    intGiokt = 0;
                                    intPhutkt = 0;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }

                                if (checkInsert == true)
                                {
                                    //TD
                                    strBCS = "TD";
                                    ID_CHISO = Id_chisoTDKy0;
                                    dtNgayDKY = dtpTungayCancuTH.SelectedDate.Value.Date;
                                    dtNgayCKY = dtpDenngayCancuTH.SelectedDate.Value.Date;
                                    sanluongKy = 0;
                                    Ky = Ky0;
                                    CHISO_CU = 0;
                                    CHISO_MOI = Convert.ToDouble(txtTD_TH.Text.Trim());
                                    intGiobd = 0;
                                    intPhutbd = 0;
                                    intGiokt = 0;
                                    intPhutkt = 0;

                                    setEntity_CHISO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_CHISO(dsNPC_TRTH_CHISO_Entity, ref strError);
                                }                                

                                if (checkInsert == false)
                                {
                                    this.Cursor = null;
                                    MessageBox.Show("Không ghi được dữ liệu kỳ 0 !" + strError.ToString());
                                    return;
                                }

                                #endregion

                                #region ========= dữ liệu điểm đo NPC_TRTH_DDO thoái hoàn ==========

                                if (checkInsert == true)
                                {
                                    // BT
                                    strBCS = "BT";
                                    TongsoGiocacKy = 0;
                                    SogioTruythu = 0;
                                    TongsanluongcacKy = 0;
                                    SanluongTT = 0;
                                    SanluongDocduoc = 0;

                                    dtNgayTT_tu = Convert.ToDateTime("01/01/1000");
                                    intGioTTtu = 0;
                                    intPhutTTtu = 0;

                                    dtNgayTT_den = dtpNgaystop.SelectedDate.Value.Date;
                                    intGioTTden = Convert.ToInt32(txtGiostop.Text.Trim());
                                    intPhutTTden = Convert.ToInt32(txtPhutstop.Text.Trim());
                                    sogiomatdienKy = 0;
                                    SogiomatdienTruythu = 0;
                                    Thanhtien = Convert.ToDouble(txtTienTH.Text.Trim()) * Convert.ToDouble(-1);
                                    ThanhtienTRuSLThao = Convert.ToDouble(txtTienTH.Text.Trim()) * Convert.ToDouble(-1);
                                    strChuoi_tinhtien = " ";

                                    setEntity_DDO("btnGhi");

                                    checkInsert = GlobalServices.Service_Truythu.update_NPC_TRTH_DDO(dsNPC_TRTH_DDO_Entity, ref strError);
                                    
                                }
                                #endregion
                            }
                    

                }

                if (checkInsert == true)
                {
                    MessageBox.Show("Ghi dữ liệu thành công !");
                    this.Cursor = null;
                }
                else
                {
                    MessageBox.Show("Không ghi được dữ liệu điểm đo !" + strError.ToString());
                    this.Cursor = null;
                    return;
                }


                btnThemMoi.IsEnabled = true;
                btnSua.IsEnabled = true;
                btnHuy.IsEnabled = false;
                btnGhi.IsEnabled = false;
                btnIn.IsEnabled = true;
                btnLayDuLieu_I.IsEnabled = false;
                btnXoa.IsEnabled = true;
                //rdbThongthuong.IsChecked = true;
                //rdbKD.IsChecked = true;

                rdbThongthuong.IsEnabled = false;
                rdbBieutong.IsEnabled = false;
                rdbTutinh.IsEnabled = false;

                strBtnClick = "";
                strSuaThemmoi = "";

                Enable_Items(false);
                //Enable_ThongtinCancu(false);
                Enable_KyCancu(false, 0);
                
            }
            catch (Exception ex)
            {
                this.Cursor = null;
                MessageBox.Show(ex.ToString());
            }
        }

        public void Tinh_truythu()
        {
            try
            {
                sanluongSGKy1 = 0;
                sanluongBTKy1 = 0;
                sanluongCDKy1 = 0;
                sanluongTDKy1 = 0;
                sanluongVCKy1 = 0;
                sanluongSGKy2 = 0;
                sanluongBTKy2 = 0;
                sanluongCDKy2 = 0;
                sanluongTDKy2 = 0;
                sanluongVCKy2 = 0;
                sanluongSGKy3 = 0;
                sanluongBTKy3 = 0;
                sanluongCDKy3 = 0;
                sanluongTDKy3 = 0;
                sanluongVCKy3 = 0;

                intGiobd1 = 0;
                intPhutbd1 = 0;
                intGiokt1 = 0;
                intPhutkt1 = 0;
                intGiobd2 = 0;
                intPhutbd2 = 0;
                intGiokt2 = 0;
                intPhutkt2 = 0;
                intGiobd3 = 0;
                intPhutbd3 = 0;
                intGiokt3 = 0;
                intPhutkt3 = 0;

                SogioBTKy1 = 0;
                SogioCDKy1 = 0;
                SogioTDKy1 = 0;
                SogioVCKy1 = 0;
                SogioBTKy2 = 0;
                SogioCDKy2 = 0;
                SogioTDKy2 = 0;
                SogioVCKy2 = 0;
                SogioBTKy3 = 0;
                SogioCDKy3 = 0;
                SogioTDKy3 = 0;
                SogioVCKy3 = 0;

                TongsanluongBTcacKy = 0;
                TongsanluongCDcacKy = 0;
                TongsanluongTDcacKy = 0;
                TongsanluongSGcacKy = 0;
                TongsanluongVCcacKy = 0;

                sogiomatdienBT_Ky = 0;
                sogiomatdienCD_Ky = 0;
                sogiomatdienTD_Ky = 0;

                TongsoGioBTcacKy = 0;
                TongsoGioCDcacKy = 0;
                TongsoGioTDcacKy = 0;
                TongsoGioVCcacKy = 0;

                SanluongBT_TB = 0;
                SanluongCD_TB = 0;
                SanluongTD_TB = 0;
                SanluongVC_TB = 0;

                SanluongBT_TT = 0;
                SanluongCD_TT = 0;
                SanluongTD_TT = 0;
                SanluongSG_TT = 0;
                SanluongVC_TT = 0;

                SanluongBTDocduoc = 0;
                SanluongCDDocduoc = 0;
                SanluongTDDocduoc = 0;
                SanluongSGDocduoc = 0;
                SanluongVCDocduoc = 0;

                TyleBT = 0;
                TyleCD = 0;
                TyleTD = 0;
                TyleVC = 0;

                ThanhtienBT = 0;
                ThanhtienCD = 0;
                ThanhtienTD = 0;
                ThanhtienVC = 0;

                ThanhtienBTTRuSLThao = 0;
                ThanhtienCDTRuSLThao = 0;
                ThanhtienTDTRuSLThao = 0;
                ThanhtienVCTRuSLThao = 0;

                hesocosfi = 0;
                hesoK = 0;

                strChuoi_tinhtien = "";
                strChuoi_tinhtienBT = "";
                strChuoi_tinhtienCD = "";
                strChuoi_tinhtienTD = "";


                #region ========== Kỳ I ==========
                if (dtpTungay1.SelectedDate.HasValue)
                {
                    if (txtSG1.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongSGKy1 = double.Parse(txtSG1.Text.Trim().ToString());
                    }

                    if (txtBT1.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongBTKy1 = double.Parse(txtBT1.Text.Trim().ToString());
                    }

                    if (txtCD1.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongCDKy1 = double.Parse(txtCD1.Text.Trim().ToString());
                    }

                    if (txtTD1.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongTDKy1 = double.Parse(txtTD1.Text.Trim().ToString());
                    }

                    if (txtVC1.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongVCKy1 = double.Parse(txtVC1.Text.Trim().ToString());
                    }

                    intGiobd1 = Convert.ToInt32(txtGiobd1.Text.Trim());
                    intPhutbd1 = Convert.ToInt32(txtPhutbd1.Text.Trim());
                    intGiokt1 = Convert.ToInt32(txtGiokt1.Text.Trim());
                    intPhutkt1 = Convert.ToInt32(txtPhutkt1.Text.Trim());

                    Tinh_gio(intGiobd1, intPhutbd1, dtpTungay1.SelectedDate.Value.Date, intGiokt1, intPhutkt1, dtpDenngay1.SelectedDate.Value.Date);
                    SogioBTKy1 = BT;
                    SogioCDKy1 = CD;
                    SogioTDKy1 = TD;
                    SogioVCKy1 = VC;

                }


                #endregion

                #region ========== Kỳ II ==========
                if (dtpTungay2.SelectedDate.HasValue)
                {
                    if (txtSG2.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongSGKy2 = double.Parse(txtSG2.Text.Trim().ToString());
                    }

                    if (txtBT2.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongBTKy2 = double.Parse(txtBT2.Text.Trim().ToString());
                    }

                    if (txtCD2.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongCDKy2 = double.Parse(txtCD2.Text.Trim().ToString());
                    }

                    if (txtTD2.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongTDKy2 = double.Parse(txtTD2.Text.Trim().ToString());
                    }

                    if (txtVC2.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongVCKy2 = double.Parse(txtVC2.Text.Trim().ToString());
                    }

                    intGiobd2 = Convert.ToInt32(txtGiobd2.Text.Trim());
                    intPhutbd2 = Convert.ToInt32(txtPhutbd2.Text.Trim());
                    intGiokt2 = Convert.ToInt32(txtGiokt2.Text.Trim());
                    intPhutkt2 = Convert.ToInt32(txtPhutkt2.Text.Trim());

                    Tinh_gio(intGiobd2, intPhutbd2, dtpTungay2.SelectedDate.Value.Date, intGiokt2, intPhutkt2, dtpDenngay2.SelectedDate.Value.Date);
                    SogioBTKy2 = BT;
                    SogioCDKy2 = CD;
                    SogioTDKy2 = TD;
                    SogioVCKy2 = VC;
                }


                #endregion

                #region ========== Kỳ III ==========
                if (dtpTungay3.SelectedDate.HasValue)
                {
                    if (txtSG3.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongSGKy3 = double.Parse(txtSG3.Text.Trim().ToString());
                    }

                    if (txtBT3.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongBTKy3 = double.Parse(txtBT3.Text.Trim().ToString());
                    }

                    if (txtCD3.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongCDKy3 = double.Parse(txtCD3.Text.Trim().ToString());
                    }

                    if (txtTD3.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongTDKy3 = double.Parse(txtTD3.Text.Trim().ToString());
                    }

                    if (txtVC3.Text.Trim().ToString() != string.Empty)
                    {
                        sanluongVCKy3 = double.Parse(txtVC3.Text.Trim().ToString());
                    }

                    intGiobd3 = Convert.ToInt32(txtGiobd3.Text.Trim());
                    intPhutbd3 = Convert.ToInt32(txtPhutbd3.Text.Trim());
                    intGiokt3 = Convert.ToInt32(txtGiokt3.Text.Trim());
                    intPhutkt3 = Convert.ToInt32(txtPhutkt3.Text.Trim());

                    Tinh_gio(intGiobd3, intPhutbd3, dtpTungay3.SelectedDate.Value.Date, intGiokt3, intPhutkt3, dtpDenngay3.SelectedDate.Value.Date);
                    SogioBTKy3 = BT;
                    SogioCDKy3 = CD;
                    SogioTDKy3 = TD;
                    SogioVCKy3 = VC;
                }

                
                #endregion

                #region ========== Tính chi tiết ========
                TongsanluongBTcacKy = sanluongBTKy1 + sanluongBTKy2 + sanluongBTKy3;
                TongsanluongCDcacKy = sanluongCDKy1 + sanluongCDKy2 + sanluongCDKy3;
                TongsanluongTDcacKy = sanluongTDKy1 + sanluongTDKy2 + sanluongTDKy3;
                TongsanluongSGcacKy = sanluongSGKy1 + sanluongSGKy2 + sanluongSGKy3;
                TongsanluongVCcacKy = sanluongVCKy1 + sanluongVCKy2 + sanluongVCKy3;

                sogiomatdienBT_Ky = Convert.ToDouble(txtSogiomatdiencacKyBT.Text.Trim());
                sogiomatdienCD_Ky = Convert.ToDouble(txtSogiomatdiencacKyCD.Text.Trim());
                sogiomatdienTD_Ky = Convert.ToDouble(txtSogiomatdiencacKyTD.Text.Trim());

                TongsoGioBTcacKy = SogioBTKy1 + SogioBTKy2 + SogioBTKy3 - sogiomatdienBT_Ky;
                TongsoGioCDcacKy = SogioCDKy1 + SogioCDKy2 + SogioCDKy3 - sogiomatdienCD_Ky;
                TongsoGioTDcacKy = SogioTDKy1 + SogioTDKy2 + SogioTDKy3 - sogiomatdienTD_Ky;
                TongsoGioVCcacKy = SogioVCKy1 + SogioVCKy2 + SogioVCKy3 - sogiomatdienBT_Ky - sogiomatdienCD_Ky - sogiomatdienTD_Ky;
                              

                if (TongsoGioBTcacKy > 0)
                {
                    SanluongBT_TB = Math.Round( TongsanluongBTcacKy / TongsoGioBTcacKy,2);
                }
                else
                {
                    MessageBox.Show(" Tổng số giờ của BT  <=0 không tính được truy thu !");
                    return;
                }

                if (TongsoGioCDcacKy > 0)
                {
                    SanluongCD_TB = Math.Round(TongsanluongCDcacKy / TongsoGioCDcacKy,2);
                }
                else
                {
                    MessageBox.Show(" Tổng số giờ của CD  <=0 không tính được truy thu !");
                    return;
                }

                if (TongsoGioTDcacKy > 0)
                {
                    SanluongTD_TB = Math.Round( TongsanluongTDcacKy / TongsoGioTDcacKy,2);
                }
                else
                {
                    MessageBox.Show(" Tổng số giờ của TD  <=0 không tính được truy thu !");
                    return;
                }

                if (TongsoGioVCcacKy > 0)
                {
                    SanluongVC_TB = Math.Round( TongsanluongVCcacKy / TongsoGioVCcacKy,2);
                }
                else
                {
                    MessageBox.Show(" Tổng số giờ của VC  <=0 không tính được truy thu !");
                    return;
                }

                #endregion

                #region ====== Truy thu =======
                dtNgayghigannhat = dtpNgayghign.SelectedDate.Value.Date;
                // Số giờ mất điện truy thu
                sogiomatdienBT_TT = Convert.ToDouble(txtSogiomatdienTT_BT.Text.Trim());
                sogiomatdienCD_TT = Convert.ToDouble(txtSogiomatdienTT_CD.Text.Trim());
                sogiomatdienTD_TT = Convert.ToDouble(txtSogiomatdienTT_TD.Text.Trim());

                ChisogannhatBT = Convert.ToDouble(txtBTgn.Text.Trim());
                ChisogannhatCD = Convert.ToDouble(txtCDgn.Text.Trim());
                ChisogannhatTD = Convert.ToDouble(txtTDgn.Text.Trim());
                ChisogannhatSG = Convert.ToDouble(txtSGgn.Text.Trim());
                ChisogannhatVC = Convert.ToDouble(txtVCgn.Text.Trim());

                if (PhuongphapTT == 0) // Truy thu theo phương pháp thông thường
                {

                    // Đọc được chỉ số công tơ
                    if (checkDocchiso == true)
                    {
                        if (checkDoctgian == true) // Đọc được thời gian
                        {
                            ChisothaoBT = Convert.ToDouble(txtBTct.Text.Trim());
                            ChisothaoCD = Convert.ToDouble(txtCDct.Text.Trim());
                            ChisothaoTD = Convert.ToDouble(txtTDct.Text.Trim());
                            ChisothaoSG = Convert.ToDouble(txtSGct.Text.Trim());
                            ChisothaoVC = Convert.ToDouble(txtVCct.Text.Trim());

                            intGiostop = Convert.ToInt32(txtGiostop.Text.Trim());
                            intPhutstop = Convert.ToInt32(txtPhutstop.Text.Trim());
                            intGioDocduoc = Convert.ToInt32(txtGioktct.Text.Trim());
                            intPhutDocduoc = Convert.ToInt32(txtPhutktct.Text.Trim());
                            intGiokygannhat = Convert.ToInt32(txtGioghign.Text.Trim());
                            intPhutkygannhat = Convert.ToInt32(txtPhutghign.Text.Trim());
                            dtNgayCKY_gannhat = dtpNgayghign.SelectedDate.Value.Date;

                            //Tinh_gio(intGiokygannhat, intPhutkygannhat, dtNgayCKY_gannhat, intGiostop, intPhutstop, dtpNgaystop.SelectedDate.Value.Date);
                            Tinh_gio(intGioDocduoc, intPhutDocduoc, dtpDenngayct.SelectedDate.Value.Date, intGiostop, intPhutstop, dtpNgaystop.SelectedDate.Value.Date);

                            SogioBT_TT = Math.Round(BT - sogiomatdienBT_TT,2);
                            SogioCD_TT = Math.Round(CD - sogiomatdienCD_TT,2);
                            SogioTD_TT = Math.Round(TD - sogiomatdienTD_TT,2);
                            SogioVC_TT = SogioBT_TT + SogioCD_TT + SogioTD_TT;

                            SanluongBTDocduoc = Convert.ToDouble(Convert.ToInt64((ChisothaoBT - ChisogannhatBT) * hsn));
                            SanluongCDDocduoc = Convert.ToDouble(Convert.ToInt64((ChisothaoCD - ChisogannhatCD) * hsn));
                            SanluongTDDocduoc = Convert.ToDouble(Convert.ToInt64((ChisothaoTD - ChisogannhatTD) * hsn));;
                            SanluongSGDocduoc = Convert.ToDouble(Convert.ToInt64((ChisothaoSG - ChisogannhatSG) * hsn));
                            SanluongVCDocduoc = Convert.ToDouble(Convert.ToInt64((ChisothaoVC - ChisogannhatVC) * hsn));

                            SanluongBT_TT = Convert.ToDouble(Convert.ToInt64(SanluongBT_TB * SogioBT_TT));
                            SanluongCD_TT = Convert.ToDouble(Convert.ToInt64(SanluongCD_TB * SogioCD_TT));
                            SanluongTD_TT = Convert.ToDouble(Convert.ToInt64(SanluongTD_TB * SogioTD_TT));
                            SanluongSG_TT = Convert.ToDouble(Convert.ToInt64(SanluongSG_TB * SogioSG_TT));
                            SanluongVC_TT = Convert.ToDouble(Convert.ToInt64(SanluongVC_TB * SogioVC_TT));

                            //SanluongBT_TT = Convert.ToDouble(Convert.ToInt64(SanluongBT_TB * SogioBT_TT - SanluongBTDocduoc));
                            //SanluongCD_TT = Convert.ToDouble(Convert.ToInt64(SanluongCD_TB * SogioCD_TT - SanluongCDDocduoc));
                            //SanluongTD_TT = Convert.ToDouble(Convert.ToInt64(SanluongTD_TB * SogioTD_TT - SanluongTDDocduoc));
                            //SanluongSG_TT = Convert.ToDouble(Convert.ToInt64(SanluongSG_TB * SogioSG_TT - SanluongSGDocduoc));
                            //SanluongVC_TT = Convert.ToDouble(Convert.ToInt64(SanluongVC_TB * SogioVC_TT - SanluongVCDocduoc));
                        }
                        else
                        {
                            // Đọc được chỉ số nhưng không đọc được thời gian

                            ChisothaoBT = Convert.ToDouble(txtBTct.Text.Trim());
                            ChisothaoCD = Convert.ToDouble(txtCDct.Text.Trim());
                            ChisothaoTD = Convert.ToDouble(txtTDct.Text.Trim());
                            ChisothaoSG = Convert.ToDouble(txtSGct.Text.Trim());
                            ChisothaoVC = Convert.ToDouble(txtVCct.Text.Trim());

                            intGiostop = Convert.ToInt32(txtGiostop.Text.Trim());
                            intPhutstop = Convert.ToInt32(txtPhutstop.Text.Trim());
                            intGioDocduoc = 0;
                            intPhutDocduoc = 0;
                            intGiokygannhat = Convert.ToInt32(txtGioghign.Text.Trim());
                            intPhutkygannhat = Convert.ToInt32(txtPhutghign.Text.Trim());
                            dtNgayCKY_gannhat = dtpNgayghign.SelectedDate.Value.Date;

                            Tinh_gio(intGiokygannhat, intPhutkygannhat, dtNgayCKY_gannhat, intGiostop, intPhutstop, dtpNgaystop.SelectedDate.Value.Date);                            

                            SogioBT_TT = Math.Round(BT - sogiomatdienBT_TT,2);
                            SogioCD_TT = Math.Round(CD - sogiomatdienCD_TT,2);
                            SogioTD_TT = Math.Round(TD - sogiomatdienTD_TT,2);
                            SogioVC_TT = SogioBT_TT + SogioCD_TT + SogioTD_TT;

                            SanluongBTDocduoc = Convert.ToDouble(Convert.ToInt64((ChisothaoBT - ChisogannhatBT) * hsn));
                            SanluongCDDocduoc = Convert.ToDouble(Convert.ToInt64((ChisothaoCD - ChisogannhatCD) * hsn));
                            SanluongTDDocduoc = Convert.ToDouble(Convert.ToInt64((ChisothaoTD - ChisogannhatTD) * hsn));
                            SanluongSGDocduoc = Convert.ToDouble(Convert.ToInt64((ChisothaoSG - ChisogannhatSG) * hsn));
                            SanluongVCDocduoc = Convert.ToDouble(Convert.ToInt64((ChisothaoVC - ChisogannhatVC) * hsn));
                            
                            SanluongBT_TT = Convert.ToDouble(Convert.ToInt64(SanluongBT_TB * SogioBT_TT - SanluongBTDocduoc));
                            SanluongCD_TT = Convert.ToDouble(Convert.ToInt64(SanluongCD_TB * SogioCD_TT - SanluongCDDocduoc));
                            SanluongTD_TT = Convert.ToDouble(Convert.ToInt64(SanluongTD_TB * SogioTD_TT - SanluongTDDocduoc));
                            SanluongSG_TT = Convert.ToDouble(Convert.ToInt64(SanluongSG_TB * SogioSG_TT - SanluongSGDocduoc));
                            SanluongVC_TT = Convert.ToDouble(Convert.ToInt64(SanluongVC_TB * SogioVC_TT - SanluongVCDocduoc));
                        }
                    }
                    else
                    {
                        ChisothaoBT = 0;
                        ChisothaoCD = 0;
                        ChisothaoTD = 0;
                        ChisothaoSG = 0;
                        ChisothaoVC = 0;

                        intGiostop = Convert.ToInt32(txtGiostop.Text.Trim());
                        intPhutstop = Convert.ToInt32(txtPhutstop.Text.Trim());
                        intGioDocduoc = 0;
                        intPhutDocduoc = 0;
                        intGiokygannhat = Convert.ToInt32(txtGioghign.Text.Trim());
                        intPhutkygannhat = Convert.ToInt32(txtPhutghign.Text.Trim());
                        dtNgayCKY_gannhat = dtpNgayghign.SelectedDate.Value.Date;

                        Tinh_gio(intGiokygannhat, intPhutkygannhat, dtNgayCKY_gannhat, intGiostop, intPhutstop, dtpNgaystop.SelectedDate.Value.Date);

                        SogioBT_TT = Math.Round( BT - sogiomatdienBT_TT,2);
                        SogioCD_TT = Math.Round( CD - sogiomatdienCD_TT,2);
                        SogioTD_TT = Math.Round( TD - sogiomatdienTD_TT,2);
                        SogioVC_TT = SogioBT_TT + SogioCD_TT + SogioTD_TT;

                        SanluongBTDocduoc = 0;
                        SanluongCDDocduoc = 0;
                        SanluongTDDocduoc = 0;
                        SanluongSGDocduoc = 0;
                        SanluongVCDocduoc = 0;

                        SanluongBT_TT = Convert.ToDouble(Convert.ToInt64(SanluongBT_TB * SogioBT_TT));
                        SanluongCD_TT = Convert.ToDouble(Convert.ToInt64(SanluongCD_TB * SogioCD_TT));
                        SanluongTD_TT = Convert.ToDouble(Convert.ToInt64(SanluongTD_TB * SogioTD_TT));
                        SanluongSG_TT = Convert.ToDouble(Convert.ToInt64(SanluongSG_TB * SogioSG_TT));
                        SanluongVC_TT = Convert.ToDouble(Convert.ToInt64(SanluongVC_TB * SogioVC_TT));
                    }
                }
                else /// Truy thu theo Biểu Tổng
                {
                    ChisothaoBT = 0;
                    ChisothaoCD = 0;
                    ChisothaoTD = 0;
                    ChisothaoSG = Convert.ToDouble(txtSGct.Text.Trim());
                    ChisothaoVC = 0;

                    intGiostop = Convert.ToInt32(txtGiostop.Text.Trim());
                    intPhutstop = Convert.ToInt32(txtPhutstop.Text.Trim());
                    intGioDocduoc = Convert.ToInt32(txtGioktct.Text.Trim());
                    intPhutDocduoc = Convert.ToInt32(txtPhutktct.Text.Trim());
                    intGiokygannhat = Convert.ToInt32(txtGioghign.Text.Trim());
                    intPhutkygannhat = Convert.ToInt32(txtPhutghign.Text.Trim());
                    dtNgayCKY_gannhat = dtpNgayghign.SelectedDate.Value.Date;

                    Tinh_gio(intGiokygannhat, intPhutkygannhat, dtNgayCKY_gannhat, intGiostop, intPhutstop, dtpNgaystop.SelectedDate.Value.Date);

                    SogioBT_TT = 0;
                    SogioCD_TT = 0;
                    SogioTD_TT = 0;
                    SogioVC_TT = 0;

                    SanluongBTDocduoc = 0;
                    SanluongCDDocduoc = 0;
                    SanluongTDDocduoc = 0;
                    SanluongSGDocduoc = Convert.ToDouble(Convert.ToInt64((ChisothaoSG - ChisogannhatSG) * hsn));
                    SanluongVCDocduoc = 0;

                    TyleBT = Convert.ToDouble((TongsanluongBTcacKy / (TongsanluongBTcacKy + TongsanluongCDcacKy + TongsanluongTDcacKy)).ToString("##.####"));
                    TyleCD = Convert.ToDouble((TongsanluongCDcacKy / (TongsanluongBTcacKy + TongsanluongCDcacKy + TongsanluongTDcacKy)).ToString("##.####"));
                    TyleTD = 1 - TyleBT - TyleCD;

                    SanluongBT_TT = Convert.ToDouble(Convert.ToInt64(SanluongSGDocduoc * TyleBT));
                    SanluongCD_TT = Convert.ToDouble(Convert.ToInt64(SanluongSGDocduoc * TyleCD));
                    SanluongTD_TT = Convert.ToDouble(Convert.ToInt64(SanluongSGDocduoc - SanluongBT_TT - SanluongCD_TT));
                    SanluongSG_TT = Convert.ToDouble(Convert.ToInt64(SanluongSGDocduoc));
                    SanluongVC_TT = 0;
                }

                #endregion

                #region======== Tinh tien =========
                // thanh_tien = (sl_truythu + sl_thao)* dongia
                txtChuoigia.Text = GlobalServices.Service_Truythu.get_chuoigia(strMa_dviqly, strMa_ddo);

                DataSet dsApgia = new DataSet();
                dsApgia = GlobalServices.Service_Truythu.GetGia_By_MaDDoBCS(strMa_dviqly, strMa_ddo);
                //dsApgia = cls.GetGia_By_MaDDoBCS_Doigia(strMa_dviqly, strMa_ddo, dtpDenngayct.SelectedDate.Value.Date, dtpNgaystop.SelectedDate.Value.Date);

                if (dsApgia != null && dsApgia.Tables[0].Rows.Count > 0)
                {
                    int Phantram = 0;
                    //int kWh = 0;
                    double SluongConlai = 0;
                    double SluongConlaiTruSLthao = 0;
                    double SanluongDatinhtienBT = 0; // dùng lưu phần sản lượng đã tính tiền trong trường hợp định mức là % 
                    double SanluongDatinhtienCD = 0;
                    double SanluongDatinhtienTD = 0;

                    //BT
                    DataRow[] ArrBT = dsApgia.Tables[0].Select("LOAI_BCS = 'BT'", "SO_THUTU ASC");
                    if (ArrBT.Count() > 0)
                    {
                        Phantram = 0;
                        SluongConlai = SanluongBT_TT + SanluongBTDocduoc;
                        SluongConlaiTruSLthao = SanluongBT_TT;

                        for (int i = 0; i < ArrBT.Count(); i++)
                        {
                            if (ArrBT[i]["LOAI_DMUC"].ToString().Trim() == "%")
                            {
                                ThanhtienBT += Math.Round((SanluongBT_TT + SanluongBTDocduoc) * Convert.ToDouble(ArrBT[i]["DINH_MUC"]) * 0.01,0) * Convert.ToDouble(ArrBT[i]["DON_GIA"]);                                
                                ThanhtienBTTRuSLThao += SanluongBT_TT * Convert.ToDouble(ArrBT[i]["DINH_MUC"]) * 0.01 * Convert.ToDouble(ArrBT[i]["DON_GIA"]);
                                Phantram += Convert.ToInt32(ArrBT[i]["DINH_MUC"]);
                                SanluongDatinhtienBT += Math.Round((SanluongBT_TT + SanluongBTDocduoc) * Convert.ToDouble(ArrBT[i]["DINH_MUC"]) * 0.01, 0);
                                strChuoi_tinhtienBT += " + " + Math.Round((SanluongBT_TT + SanluongBTDocduoc) * Convert.ToDouble(ArrBT[i]["DINH_MUC"]) * 0.01, 0).ToString("#########") + "x" + ArrBT[i]["DON_GIA"].ToString();
                            }
                            else
                                if (ArrBT[i]["LOAI_DMUC"].ToString().Trim() != "%" && ArrBT[i]["LOAI_DMUC"].ToString().Trim() != string.Empty)
                                {
                                    if (Convert.ToDouble(ArrBT[i]["DINH_MUC"]) <= SluongConlai)
                                    {
                                        ThanhtienBT += Convert.ToDouble(ArrBT[i]["DINH_MUC"]) * Convert.ToDouble(ArrBT[i]["DON_GIA"]);
                                        SluongConlai = SluongConlai - Convert.ToDouble(ArrBT[i]["DINH_MUC"]);
                                        strChuoi_tinhtienBT += " + " + ArrBT[i]["DINH_MUC"].ToString() + "x" + ArrBT[i]["DON_GIA"].ToString();
                                    }
                                    else
                                    {
                                        ThanhtienBT += SluongConlai * Convert.ToDouble(ArrBT[i]["DON_GIA"]);
                                        SluongConlai = 0;
                                        strChuoi_tinhtienBT += " + " + SluongConlai.ToString() + "x" + ArrBT[i]["DON_GIA"].ToString();
                                    }

                                    if (Convert.ToDouble(ArrBT[i]["DINH_MUC"]) <= SluongConlaiTruSLthao)
                                    {
                                        ThanhtienBTTRuSLThao += Convert.ToDouble(ArrBT[i]["DINH_MUC"]) * Convert.ToDouble(ArrBT[i]["DON_GIA"]);
                                        SluongConlaiTruSLthao = SluongConlaiTruSLthao - Convert.ToDouble(ArrBT[i]["DINH_MUC"]);
                                    }
                                    else
                                    {
                                        ThanhtienBTTRuSLThao += SluongConlaiTruSLthao * Convert.ToDouble(ArrBT[i]["DON_GIA"]);
                                        SluongConlaiTruSLthao = 0;
                                    }

                                }
                                else
                                    if (ArrBT[i]["DINH_MUC"].ToString().Trim().ToUpper() == "C")
                                    {
                                        if (Phantram > 0)
                                        {
                                            ThanhtienBT += ((SanluongBT_TT + SanluongBTDocduoc) - SanluongDatinhtienBT) * Convert.ToDouble(ArrBT[i]["DON_GIA"]);
                                            ThanhtienBTTRuSLThao += SanluongBT_TT * (100 - Phantram) * 0.01 * Convert.ToDouble(ArrBT[i]["DON_GIA"]);
                                            strChuoi_tinhtienBT += " + " + ((SanluongBT_TT + SanluongBTDocduoc) - SanluongDatinhtienBT).ToString() + "x" + ArrBT[i]["DON_GIA"].ToString();
                                        }
                                        else
                                            if (SluongConlai > 0 || SluongConlaiTruSLthao > 0 )
                                            {
                                                if (SluongConlai > 0)
                                                {
                                                    ThanhtienBT += SluongConlai * Convert.ToDouble(ArrBT[i]["DON_GIA"]);
                                                    strChuoi_tinhtienBT += " + " + SluongConlai.ToString() + "x" + ArrBT[i]["DON_GIA"].ToString();
                                                }

                                                if (SluongConlaiTruSLthao > 0)
                                                {
                                                    ThanhtienBTTRuSLThao += SluongConlaiTruSLthao * Convert.ToDouble(ArrBT[i]["DON_GIA"]);
                                                }
                                            }
                                    }
                        }
                        strChuoi_tinhtienBT = strChuoi_tinhtienBT.Substring(3, strChuoi_tinhtienBT.Length - 3);
                    }

                    //CD
                    DataRow[] ArrCD = dsApgia.Tables[0].Select("LOAI_BCS = 'CD'", "SO_THUTU ASC");
                    if (ArrCD.Count() > 0)
                    {
                        Phantram = 0;
                        SluongConlai = SanluongCD_TT + SanluongCDDocduoc;
                        SluongConlaiTruSLthao = SanluongCD_TT;

                        for (int i = 0; i < ArrCD.Count(); i++)
                        {
                            if (ArrCD[i]["LOAI_DMUC"].ToString().Trim() == "%")
                            {
                                ThanhtienCD += Math.Round((SanluongCD_TT + SanluongCDDocduoc) * Convert.ToDouble(ArrCD[i]["DINH_MUC"]) * 0.01,0) * Convert.ToDouble(ArrCD[i]["DON_GIA"]);
                                ThanhtienCDTRuSLThao += SanluongCD_TT * Convert.ToDouble(ArrCD[i]["DINH_MUC"]) * 0.01 * Convert.ToDouble(ArrCD[i]["DON_GIA"]);
                                Phantram += Convert.ToInt32(ArrCD[i]["DINH_MUC"]);
                                SanluongDatinhtienCD += Math.Round((SanluongCD_TT + SanluongCDDocduoc) * Convert.ToDouble(ArrCD[i]["DINH_MUC"]) * 0.01, 0);
                                strChuoi_tinhtienCD += " + " + Math.Round((SanluongCD_TT + SanluongCDDocduoc) * Convert.ToDouble(ArrCD[i]["DINH_MUC"]) * 0.01, 0).ToString() + "x" + ArrCD[i]["DON_GIA"].ToString();
                            }
                            else
                                if (ArrCD[i]["LOAI_DMUC"].ToString().Trim() != "%" && ArrCD[i]["LOAI_DMUC"].ToString().Trim() != string.Empty)
                                {
                                    if (Convert.ToDouble(ArrCD[i]["DINH_MUC"]) <= SluongConlai)
                                    {
                                        ThanhtienCD += Convert.ToDouble(ArrCD[i]["DINH_MUC"]) * Convert.ToDouble(ArrCD[i]["DON_GIA"]);
                                        SluongConlai = SluongConlai - Convert.ToDouble(ArrCD[i]["DINH_MUC"]);
                                        strChuoi_tinhtienCD += " + " + ArrCD[i]["DINH_MUC"].ToString() + "x" + ArrCD[i]["DON_GIA"].ToString();
                                    }
                                    else
                                    {
                                        ThanhtienCD += SluongConlai * Convert.ToDouble(ArrCD[i]["DON_GIA"]);
                                        SluongConlai = 0;
                                        strChuoi_tinhtienCD += " + " + SluongConlai.ToString() + "x" + ArrCD[i]["DON_GIA"].ToString();
                                    }

                                    if (Convert.ToDouble(ArrCD[i]["DINH_MUC"]) <= SluongConlaiTruSLthao)
                                    {
                                        ThanhtienCDTRuSLThao += Convert.ToDouble(ArrCD[i]["DINH_MUC"]) * Convert.ToDouble(ArrCD[i]["DON_GIA"]);
                                        SluongConlaiTruSLthao = SluongConlaiTruSLthao - Convert.ToDouble(ArrCD[i]["DINH_MUC"]);
                                    }
                                    else
                                    {
                                        ThanhtienCDTRuSLThao += SluongConlaiTruSLthao * Convert.ToDouble(ArrCD[i]["DON_GIA"]);
                                        SluongConlaiTruSLthao = 0;
                                    }

                                }
                                else
                                    if (ArrCD[i]["DINH_MUC"].ToString().Trim().ToUpper() == "C")
                                    {
                                        if (Phantram > 0)
                                        {
                                            ThanhtienCD += ((SanluongCD_TT + SanluongCDDocduoc) - SanluongDatinhtienCD) * Convert.ToDouble(ArrCD[i]["DON_GIA"]);
                                            ThanhtienCDTRuSLThao += SanluongCD_TT * (100 - Phantram) * 0.01 * Convert.ToDouble(ArrCD[i]["DON_GIA"]);
                                            strChuoi_tinhtienCD += " + " + ((SanluongCD_TT + SanluongCDDocduoc) - SanluongDatinhtienCD).ToString() + "x" + ArrCD[i]["DON_GIA"].ToString();
                                        }
                                        else
                                            if (SluongConlai > 0 || SluongConlaiTruSLthao > 0)
                                            {
                                                if (SluongConlai > 0)
                                                {
                                                    ThanhtienCD += SluongConlai * Convert.ToDouble(ArrCD[i]["DON_GIA"]);
                                                    strChuoi_tinhtienCD += " + " + SluongConlai.ToString() + ArrCD[i]["DON_GIA"].ToString();
                                                }

                                                if (SluongConlaiTruSLthao > 0)
                                                {
                                                    ThanhtienCDTRuSLThao += SluongConlaiTruSLthao * Convert.ToDouble(ArrCD[i]["DON_GIA"]);
                                                }
                                            }
                                    }
                        }
                        strChuoi_tinhtienCD = strChuoi_tinhtienCD.Substring(3, strChuoi_tinhtienCD.Length - 3);
                    }

                    //TD
                    DataRow[] ArrTD = dsApgia.Tables[0].Select("LOAI_BCS = 'TD'", "SO_THUTU ASC");
                    if (ArrTD.Count() > 0)
                    {
                        Phantram = 0;
                        SluongConlai = SanluongTD_TT + SanluongTDDocduoc;
                        SluongConlaiTruSLthao = SanluongTD_TT;

                        for (int i = 0; i < ArrTD.Count(); i++)
                        {
                            if (ArrTD[i]["LOAI_DMUC"].ToString().Trim() == "%")
                            {
                                ThanhtienTD += Math.Round((SanluongTD_TT + SanluongTDDocduoc) * Convert.ToDouble(ArrTD[i]["DINH_MUC"]) * 0.01,0) * Convert.ToDouble(ArrTD[i]["DON_GIA"]);
                                ThanhtienTDTRuSLThao += SanluongTD_TT * Convert.ToDouble(ArrTD[i]["DINH_MUC"]) * 0.01 * Convert.ToDouble(ArrTD[i]["DON_GIA"]);
                                Phantram += Convert.ToInt32(ArrTD[i]["DINH_MUC"]);
                                SanluongDatinhtienCD += Math.Round((SanluongTD_TT + SanluongTDDocduoc) * Convert.ToDouble(ArrTD[i]["DINH_MUC"]) * 0.01, 0);
                                strChuoi_tinhtienTD += " + " + Math.Round((SanluongTD_TT + SanluongTDDocduoc) * Convert.ToDouble(ArrTD[i]["DINH_MUC"]) * 0.01, 0).ToString() + "x" + ArrTD[i]["DON_GIA"].ToString();
                            }
                            else
                                if (ArrTD[i]["LOAI_DMUC"].ToString().Trim() != "%" && ArrTD[i]["LOAI_DMUC"].ToString().Trim() != string.Empty)
                                {
                                    if (Convert.ToDouble(ArrTD[i]["DINH_MUC"]) <= SluongConlai)
                                    {
                                        ThanhtienTD += Convert.ToDouble(ArrTD[i]["DINH_MUC"]) * Convert.ToDouble(ArrTD[i]["DON_GIA"]);
                                        SluongConlai = SluongConlai - Convert.ToDouble(ArrTD[i]["DINH_MUC"]);
                                        strChuoi_tinhtienTD += " + " + ArrTD[i]["DINH_MUC"].ToString() + "x" + ArrTD[i]["DON_GIA"].ToString();
                                    }
                                    else
                                    {
                                        ThanhtienTD += SluongConlai * Convert.ToDouble(ArrTD[i]["DON_GIA"]);
                                        SluongConlai = 0;
                                        strChuoi_tinhtienTD += " + " + SluongConlai.ToString() + "x" + ArrTD[i]["DON_GIA"].ToString();
                                    }

                                    if (Convert.ToDouble(ArrTD[i]["DINH_MUC"]) <= SluongConlaiTruSLthao)
                                    {
                                        ThanhtienTDTRuSLThao += Convert.ToDouble(ArrTD[i]["DINH_MUC"]) * Convert.ToDouble(ArrTD[i]["DON_GIA"]);
                                        SluongConlaiTruSLthao = SluongConlaiTruSLthao - Convert.ToDouble(ArrTD[i]["DINH_MUC"]);
                                    }
                                    else
                                    {
                                        ThanhtienTDTRuSLThao += SluongConlaiTruSLthao * Convert.ToDouble(ArrTD[i]["DON_GIA"]);
                                        SluongConlaiTruSLthao = 0;
                                    }

                                }
                                else
                                    if (ArrTD[i]["DINH_MUC"].ToString().Trim().ToUpper() == "C")
                                    {
                                        if (Phantram > 0)
                                        {
                                            ThanhtienTD += ((SanluongTD_TT + SanluongTDDocduoc) - SanluongDatinhtienTD) * Convert.ToDouble(ArrTD[i]["DON_GIA"]);
                                            ThanhtienTDTRuSLThao += SanluongTD_TT * (100 - Phantram) * 0.01 * Convert.ToDouble(ArrTD[i]["DON_GIA"]);
                                            strChuoi_tinhtienTD += " + " + ((SanluongTD_TT + SanluongTDDocduoc) - SanluongDatinhtienTD).ToString() + "x" + ArrTD[i]["DON_GIA"].ToString();
                                        }
                                        else
                                            if (SluongConlai > 0 || SluongConlaiTruSLthao > 0)
                                            {
                                                if (SluongConlai > 0)
                                                {
                                                    ThanhtienTD += SluongConlai * Convert.ToDouble(ArrTD[i]["DON_GIA"]);
                                                    strChuoi_tinhtienTD += " + " + SluongConlai.ToString() + "x" + ArrTD[i]["DON_GIA"].ToString();
                                                }

                                                if (SluongConlaiTruSLthao > 0)
                                                {
                                                    ThanhtienTDTRuSLThao += SluongConlaiTruSLthao * Convert.ToDouble(ArrTD[i]["DON_GIA"]);
                                                }
                                            }
                                    }
                        }
                        strChuoi_tinhtienTD = strChuoi_tinhtienTD.Substring(3, strChuoi_tinhtienTD.Length - 3);
                    }

                }

                // tinh tien Vo cong
                if (PhuongphapTT == 0) // truy thu theo phuong phap thong thuong
                {
                    double tongtacdung = 0;
                    double tongphankhang  = 0;

                    // cộng cả sluong tháo và sluong truy thu
                    tongtacdung = (SanluongBT_TT + SanluongBTDocduoc) + (SanluongCD_TT + SanluongCDDocduoc) + (SanluongTD_TT + SanluongTDDocduoc);
                    tongphankhang = SanluongVC_TT + SanluongVCDocduoc;

                    hesocosfi = tongtacdung / Math.Sqrt(tongtacdung * tongtacdung + tongphankhang * tongphankhang);

                    DataSet dsCosfi = new DataSet();
                    dsCosfi = GlobalServices.Service_Truythu.Get_D_COSFI(Convert.ToDecimal(hesocosfi.ToString("##.##")));

                    if (dsCosfi != null && dsCosfi.Tables[0].Rows.Count > 0)
                    {
                        hesoK = Convert.ToDouble(dsCosfi.Tables[0].Rows[0]["KCOSFI"]);

                        ThanhtienVC = (ThanhtienBT + ThanhtienCD + ThanhtienTD) * hesoK / 100;
                    }

                    // chỉ tính theo sluong truy thu - không cộng sản lượng tháo
                    tongtacdung = SanluongBT_TT + SanluongCD_TT + SanluongTD_TT ;
                    tongphankhang = SanluongVC_TT ;

                    hesocosfi = tongtacdung / Math.Sqrt(tongtacdung * tongtacdung + tongphankhang * tongphankhang);

                    if (dsCosfi != null)
                    {
                        dsCosfi.Reset();
                    }
                    
                    decimal tr = 0;
                    if (Decimal.TryParse(hesocosfi.ToString(), out tr))
                    {
                        dsCosfi = GlobalServices.Service_Truythu.Get_D_COSFI(Convert.ToDecimal(hesocosfi.ToString("##.##")));
                    }
                    else
                    {
                        hesocosfi = 0;
                    }

                    if (dsCosfi != null && dsCosfi.Tables[0].Rows.Count > 0)
                    {
                        hesoK = Convert.ToDouble(dsCosfi.Tables[0].Rows[0]["KCOSFI"]);

                        ThanhtienVCTRuSLThao = (ThanhtienBTTRuSLThao + ThanhtienCDTRuSLThao + ThanhtienTDTRuSLThao) * hesoK / 100;
                    }
                }

                #endregion

                #region ======= Hien thi ket qua ========

                txtBTsum.Text = SanluongBT_TT.ToString("############.##");
                txtCDsum.Text = SanluongCD_TT.ToString("############.##");
                txtTDsum.Text = SanluongTD_TT.ToString("############.##");
                txtVCsum.Text = SanluongVC_TT.ToString("############.##");

                txtBTtien.Text = ThanhtienBT.ToString("############");
                txtCDtien.Text = ThanhtienCD.ToString("############");
                txtTDtien.Text = ThanhtienTD.ToString("############");
                txtVCtien.Text = ThanhtienVC.ToString("############");


                #endregion

                checkTinhTT = true;


            }
            catch (Exception ex)
            {
                checkTinhTT = false;
                MessageBox.Show("Không tính được truy thu " + ex.ToString());                
            }
        }

        private void btnIn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                intID_TRTH = Convert.ToInt32(txtMa_TT.Text);

                DataSet dsKHANG = GlobalServices.Service_Truythu.select_NPC_TRTH_KHANG_by_id_truythu(strMa_dviqly, intID_TRTH);

                DataSet dsCHI_SO = GlobalServices.Service_Truythu.select_NPC_TRTH_CHISO_by_id_truythu(strMa_dviqly, intID_TRTH);

                DataSet dsDDO = GlobalServices.Service_Truythu.select_NPC_TRTH_DDO_by_id_truythu(strMa_dviqly, intID_TRTH);

                DataSet dsLichgcs = GlobalServices.Service_Truythu.Get_ky_GCS(strMa_dviqly, strMa_ddo);

                strLoai_khang = dsKHANG.Tables[0].Rows[0]["LOAI_KHANG"].ToString();

                DataTable dtkhang = dsKHANG.Tables[0].Copy();
                dtkhang.TableName = "NPC_TRTH_KHANG";

                DataTable dtchiso = new DataTable();
                if (dsCHI_SO != null && dsCHI_SO.Tables[0].Rows.Count > 0)
                {
                    dtchiso = dsCHI_SO.Tables[0].Copy();
                    dtchiso.TableName = "NPC_TRTH_CHISO";
                }

                DataTable dtddo = dsDDO.Tables[0].Copy();
                dtddo.TableName = "NPC_TRTH_DDO";

                string strLoai_truythu = "";
                strLoai_truythu = dtddo.Rows[0]["MA_LDO"].ToString();

                string strID = "";
                string strYear = "";
                string strIDBB = "";

                strID = dtkhang.Rows[0]["ID_TRTH"].ToString();
                strYear = Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_DEN"]).ToString("yyyy");
                strIDBB = strID + "/" + strYear + "/" + "BBTT";

                if (strLoai_truythu.Substring(1, 1) == "3")// truy thu tu tinh
                {
                    #region Truy thu tu tinh

                    rpt_NPC_TRTH_B16_TUTINH rptSH = new rpt_NPC_TRTH_B16_TUTINH();

                    rptSH.SetParameterValue("ID_TRTH", strIDBB);
                    rptSH.SetParameterValue("chuoigia", dtddo.Rows[0]["CHUOI_GIA"].ToString());
                    rptSH.SetParameterValue("DCHI_TTOAN", dtkhang.Rows[0]["DCHI_TTOAN"].ToString());
                    rptSH.SetParameterValue("dviqly_ctren", strTen_dviqly_CT.ToUpper());
                    rptSH.SetParameterValue("dviqly", strTen_dviqly);
                    rptSH.SetParameterValue("TEN_DDIEN1", dtkhang.Rows[0]["TEN_DDIEN1"].ToString());
                    rptSH.SetParameterValue("CVU_DDIEN1", dtkhang.Rows[0]["CVU_DDIEN1"].ToString());
                    rptSH.SetParameterValue("TEN_DDIEN2", dtkhang.Rows[0]["TEN_DDIEN2"].ToString());
                    rptSH.SetParameterValue("CVU_DDIEN2", dtkhang.Rows[0]["CVU_DDIEN2"].ToString());
                    //rptSH.SetParameterValue("TEN_DDIEN3", dtkhang.Rows[0]["TEN_DDIEN3"].ToString());
                    //rptSH.SetParameterValue("CVU_DDIEN3", dtkhang.Rows[0]["CVU_DDIEN3"].ToString());
                    rptSH.SetParameterValue("TEN_KHANG", dtkhang.Rows[0]["TEN_KHANG"].ToString().Trim());
                    rptSH.SetParameterValue("MA_KHANG", dtkhang.Rows[0]["MA_KHANG"].ToString());
                    rptSH.SetParameterValue("DIA_CHI", dtkhang.Rows[0]["DIA_CHI"].ToString().Trim());
                    rptSH.SetParameterValue("DDIEN_MUA", dtkhang.Rows[0]["DDIEN_MUA"].ToString());
                    rptSH.SetParameterValue("CVU_MUA", dtkhang.Rows[0]["CVU_MUA"].ToString());

                    rptSH.SetParameterValue("sobbktra", dtkhang.Rows[0]["SO_BB_KTRA"].ToString() == string.Empty ? " . . ." : dtkhang.Rows[0]["SO_BB_KTRA"].ToString());
                    rptSH.SetParameterValue("ngayktra", dtkhang.Rows[0]["NGAY_KTRA"].ToString() == string.Empty ? " . . ./ . . ./ . . . ." : Convert.ToDateTime(dtkhang.Rows[0]["NGAY_KTRA"]).ToString("dd/MM/yyyy"));
                    //rptSH.SetParameterValue("sobbkdinh", dtkhang.Rows[0]["SO_BB_KDINH"].ToString() == string.Empty ? "" : dtkhang.Rows[0]["SO_BB_KDINH"].ToString());
                    rptSH.SetParameterValue("sobbtthuan", dtkhang.Rows[0]["SO_BB_TTHUAN"].ToString() == string.Empty ? " . . ." : dtkhang.Rows[0]["SO_BB_TTHUAN"].ToString());
                    rptSH.SetParameterValue("ngaytthuan", dtkhang.Rows[0]["NGAY_TTHUAN"].ToString() == string.Empty ? " . . ./ . . ./ . . . ." : Convert.ToDateTime(dtkhang.Rows[0]["NGAY_TTHUAN"]).ToString("dd/MM/yyyy"));
                    rptSH.SetParameterValue("thangTTHD", dtkhang.Rows[0]["THANG_TT"].ToString() == string.Empty ? "" : dtkhang.Rows[0]["THANG_TT"].ToString());
                    rptSH.SetParameterValue("namTTHD", dtkhang.Rows[0]["NAM_TT"].ToString() == string.Empty ? "" : dtkhang.Rows[0]["NAM_TT"].ToString());
                    rptSH.SetParameterValue("ngay", DateTime.Now.Day.ToString());
                    rptSH.SetParameterValue("thang", DateTime.Now.Month.ToString());
                    rptSH.SetParameterValue("nam", DateTime.Now.Year.ToString());

                    //if (dtkhang.Rows[0]["DDIEN_MUA2"].ToString() != string.Empty)
                    //{
                    //    rptSH.SetParameterValue("DDIEN_MUA2", dtkhang.Rows[0]["DDIEN_MUA2"].ToString());
                    //}
                    //else
                    //{
                    //    rptSH.SetParameterValue("DDIEN_MUA2", "");
                    //}

                    //if (dtkhang.Rows[0]["CVU_MUA2"].ToString() != string.Empty)
                    //{
                    //    rptSH.SetParameterValue("CVU_MUA2", dtkhang.Rows[0]["CVU_MUA2"].ToString());
                    //}
                    //else
                    //{
                    //    rptSH.SetParameterValue("CVU_MUA2", "");
                    //}
                    rptSH.SetParameterValue("lydo", dtkhang.Rows[0]["NGUYEN_NHAN"].ToString());
                    rptSH.SetParameterValue("socto", dtddo.Rows[0]["SO_CTO"].ToString());
                    rptSH.SetParameterValue("loaicto", dtkhang.Rows[0]["LOAI_CTO"].ToString());
                    //rptSH.SetParameterValue("giostop", dtddo.Rows[0]["GIOTRHU_DEN"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_DEN"].ToString() + "'");
                    //rptSH.SetParameterValue("ngaystop", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_DEN"]).ToString("dd/MM/yyyy"));
                    //rptSH.SetParameterValue("ngaykd", dtkhang.Rows[0]["NGAY_KDINH"].ToString() == string.Empty ? "" : Convert.ToDateTime(dtkhang.Rows[0]["NGAY_KDINH"]).ToString("dd/MM/yyyy"));
                    //rptSH.SetParameterValue("cancu", "");

                    //rptSH.SetParameterValue("hsn", dtchiso.Rows[0]["HSN"].ToString());
                    //rptSH.SetParameterValue("lichgcs", "");

                    //rptSH.SetParameterValue("giogannhat", dtddo.Rows[0]["GIOTRHU_TU"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_TU"].ToString() + "'");
                    //rptSH.SetParameterValue("ngaygannhat", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_TU"]).ToString("dd/MM/yyyy"));

                    //rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));


                    //rptSH.SetParameterValue("SL_TRTHU_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                    //rptSH.SetParameterValue("SL_TRTHU_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                    //rptSH.SetParameterValue("SL_TRTHU_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));

                    //rptSH.SetParameterValue("THANH_TIEN_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN"]).ToString("###,###,###,###.##"));
                    //rptSH.SetParameterValue("THANH_TIEN_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN"]).ToString("###,###,###,###.##"));
                    //rptSH.SetParameterValue("THANH_TIEN_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN"]).ToString("###,###,###,###.##"));

                    decimal thanhtien = 0;
                    decimal Sltt = 0;
                    Sltt = Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]);
                    rptSH.SetParameterValue("SL_TRTHU", Sltt.ToString("###,###,###,###"));

                    thanhtien = Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN"]);
                    rptSH.SetParameterValue("thanhtien", thanhtien.ToString("###,###,###,###"));
                    decimal tienthue = 0;
                    tienthue = thanhtien * Convert.ToDecimal(0.1);
                    rptSH.SetParameterValue("tienthue", Convert.ToInt32(tienthue).ToString("###,###,###,###"));
                    decimal tongtien = Convert.ToInt64(thanhtien) + Convert.ToInt64(tienthue);
                    rptSH.SetParameterValue("tongtien", Convert.ToInt32(tongtien).ToString("###,###,###,###"));
                    rptSH.SetParameterValue("bangchu", VNCurrency.ToString(tongtien));

                    UtilReport.RptManager.showReportToWin(this, rptSH, strMa_dviqly, new string[] { "Formula1", "Formula2" }, new string[] { "Formula1", "Formula2" });

                    #endregion
                }
                else
                    if (strLoai_truythu.Substring(1, 1) == "1") // truy thu thong thuong
                    {
                        #region Truy thu thong thuong - chi ra hoa don cho san luong truy thu

                        //rpt_NPC_TRTH_DTU rptSH = new rpt_NPC_TRTH_DTU();
                        rpt_NPC_TRTH_B16_DTU rptSH = new rpt_NPC_TRTH_B16_DTU();

                        rptSH.SetParameterValue("ID_TRTH", strIDBB);
                        rptSH.SetParameterValue("chuoigia", dtddo.Rows[0]["CHUOI_GIA"].ToString());
                        rptSH.SetParameterValue("DCHI_TTOAN", dtkhang.Rows[0]["DCHI_TTOAN"].ToString());
                        rptSH.SetParameterValue("dviqly_ctren", strTen_dviqly_CT.ToUpper());
                        rptSH.SetParameterValue("dviqly", strTen_dviqly);
                        rptSH.SetParameterValue("TEN_DDIEN1", dtkhang.Rows[0]["TEN_DDIEN1"].ToString());
                        rptSH.SetParameterValue("CVU_DDIEN1", dtkhang.Rows[0]["CVU_DDIEN1"].ToString());
                        rptSH.SetParameterValue("TEN_DDIEN2", dtkhang.Rows[0]["TEN_DDIEN2"].ToString());
                        rptSH.SetParameterValue("CVU_DDIEN2", dtkhang.Rows[0]["CVU_DDIEN2"].ToString());
                        rptSH.SetParameterValue("TEN_DDIEN3", dtkhang.Rows[0]["TEN_DDIEN3"].ToString());
                        rptSH.SetParameterValue("CVU_DDIEN3", dtkhang.Rows[0]["CVU_DDIEN3"].ToString());
                        rptSH.SetParameterValue("TEN_KHANG", dtkhang.Rows[0]["TEN_KHANG"].ToString().Trim());
                        rptSH.SetParameterValue("MA_KHANG", dtkhang.Rows[0]["MA_KHANG"].ToString());
                        rptSH.SetParameterValue("DIA_CHI", dtkhang.Rows[0]["DIA_CHI"].ToString());
                        rptSH.SetParameterValue("DDIEN_MUA", dtkhang.Rows[0]["DDIEN_MUA"].ToString());
                        rptSH.SetParameterValue("CVU_MUA", dtkhang.Rows[0]["CVU_MUA"].ToString());
                        if (dtkhang.Rows[0]["DDIEN_MUA2"].ToString() != string.Empty)
                        {
                            rptSH.SetParameterValue("DDIEN_MUA2", dtkhang.Rows[0]["DDIEN_MUA2"].ToString());
                        }
                        else
                        {
                            rptSH.SetParameterValue("DDIEN_MUA2", "");
                        }

                        if (dtkhang.Rows[0]["CVU_MUA2"].ToString() != string.Empty)
                        {
                            rptSH.SetParameterValue("CVU_MUA2", dtkhang.Rows[0]["CVU_MUA2"].ToString());
                        }
                        else
                        {
                            rptSH.SetParameterValue("CVU_MUA2", "");
                        }
                        rptSH.SetParameterValue("lydo", dtkhang.Rows[0]["NGUYEN_NHAN"].ToString());
                        rptSH.SetParameterValue("socto", dtddo.Rows[0]["SO_CTO"].ToString());
                        rptSH.SetParameterValue("loaicto", dtkhang.Rows[0]["LOAI_CTO"].ToString());
                        rptSH.SetParameterValue("giostop", dtddo.Rows[0]["GIOTRHU_DEN"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_DEN"].ToString() + "'");
                        rptSH.SetParameterValue("ngaystop", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_DEN"]).ToString("dd/MM/yyyy"));
                        rptSH.SetParameterValue("ngaykd", dtkhang.Rows[0]["NGAY_KDINH"].ToString() == string.Empty ? " . . ./ . . ./ . . . ." : Convert.ToDateTime(dtkhang.Rows[0]["NGAY_KDINH"]).ToString("dd/MM/yyyy"));
                        rptSH.SetParameterValue("cancu", "");
                        rptSH.SetParameterValue("HS_COSFI", dtkhang.Rows[0]["HS_COSFI"].ToString() == string.Empty ? "" : dtkhang.Rows[0]["HS_COSFI"].ToString());
                        rptSH.SetParameterValue("KCOSFI", dtkhang.Rows[0]["KCOSFI"].ToString() == string.Empty ? "" : dtkhang.Rows[0]["KCOSFI"].ToString());

                        rptSH.SetParameterValue("sobbktra", dtkhang.Rows[0]["SO_BB_KTRA"].ToString() == string.Empty ? " . . ." : dtkhang.Rows[0]["SO_BB_KTRA"].ToString());
                        rptSH.SetParameterValue("ngayktra", dtkhang.Rows[0]["NGAY_KTRA"].ToString() == string.Empty ? " . . ./ . . ./ . . . ." : Convert.ToDateTime(dtkhang.Rows[0]["NGAY_KTRA"]).ToString("dd/MM/yyyy"));
                        rptSH.SetParameterValue("sobbkdinh", dtkhang.Rows[0]["SO_BB_KDINH"].ToString().Trim() == string.Empty ? " . . ." : dtkhang.Rows[0]["SO_BB_KDINH"].ToString());
                        rptSH.SetParameterValue("thangTTHD", dtkhang.Rows[0]["THANG_TT"].ToString() == string.Empty ? " . . ." : dtkhang.Rows[0]["THANG_TT"].ToString());
                        rptSH.SetParameterValue("namTTHD", dtkhang.Rows[0]["NAM_TT"].ToString() == string.Empty ? " . . ." : dtkhang.Rows[0]["NAM_TT"].ToString());
                        rptSH.SetParameterValue("ngay", DateTime.Now.Day.ToString());
                        rptSH.SetParameterValue("thang", DateTime.Now.Month.ToString());
                        rptSH.SetParameterValue("nam", DateTime.Now.Year.ToString());


                        string strMaldo = dtddo.Rows[0]["MA_LDO"].ToString();

                        DataTable dtky0 = dtchiso.Select("KY = 0").CopyToDataTable();


                        DataRow[] ArrBT = dtky0.Select("BCS = 'BT'");
                        DataRow[] ArrCD = dtky0.Select("BCS = 'CD'");
                        DataRow[] ArrTD = dtky0.Select("BCS = 'TD'");
                        DataRow[] ArrSG = dtky0.Select("BCS = 'SG'");
                        DataRow[] ArrVC = dtky0.Select("BCS = 'VC'");

                        rptSH.SetParameterValue("btdd", "");

                        if (ArrBT.Count() > 0)
                        {
                            rptSH.SetParameterValue("bthd", Convert.ToDecimal(ArrBT[0]["CHISO_CU"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("tgianhdon", ArrBT[0]["GIO_DKY"].ToString() + "h" + ArrBT[0]["PHUT_DKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            rptSH.SetParameterValue("giochisogannhat", ArrBT[0]["GIO_DKY"].ToString() + "h" + ArrBT[0]["PHUT_DKY"].ToString());
                            rptSH.SetParameterValue("ngaychisogannhat", Convert.ToDateTime(ArrBT[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            rptSH.SetParameterValue("slbtdd", Convert.ToDecimal(ArrBT[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrBT[0]["SAN_LUONG"]).ToString("###,###,###.##"));

                            if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                            {
                                rptSH.SetParameterValue("btcto", "ko có");
                                rptSH.SetParameterValue("btktra", "ko có");
                                rptSH.SetParameterValue("tgiancto", "ko có");
                                rptSH.SetParameterValue("tgianktra", "ko có");
                                rptSH.SetParameterValue("tgiandd", "ko có");
                                rptSH.SetParameterValue("btdd", "ko có");
                            }
                            else
                                if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                {
                                    rptSH.SetParameterValue("btcto", Convert.ToDecimal(ArrBT[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("btktra", "ko có");
                                    if (ArrBT[0]["NGAY_CKY"].ToString() == string.Empty)
                                    {
                                        rptSH.SetParameterValue("tgiancto", "ko có");
                                        rptSH.SetParameterValue("tgiandd", "ko có");
                                    }
                                    else
                                    {
                                        if (Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]) == Convert.ToDateTime("01/01/1000"))
                                        {
                                            rptSH.SetParameterValue("tgiancto", "ko có");
                                            rptSH.SetParameterValue("tgiandd", "ko có");
                                        }
                                        else
                                        {
                                            rptSH.SetParameterValue("tgiancto", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                            rptSH.SetParameterValue("tgiandd", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                        }
                                    }
                                    //rptSH.SetParameterValue("tgiandd", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                    rptSH.SetParameterValue("tgianktra", "ko có");
                                    rptSH.SetParameterValue("btdd", Convert.ToDecimal(ArrBT[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                                else
                                {
                                    rptSH.SetParameterValue("btcto", "ko có");
                                    rptSH.SetParameterValue("btktra", Convert.ToDecimal(ArrBT[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("tgiancto", "ko có");
                                    rptSH.SetParameterValue("tgianktra", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                    rptSH.SetParameterValue("tgiandd", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                    rptSH.SetParameterValue("btdd", Convert.ToDecimal(ArrBT[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }

                        }
                        else
                        {
                            rptSH.SetParameterValue("bthd", "");
                            rptSH.SetParameterValue("btcto", "");
                            rptSH.SetParameterValue("btktra", "");
                            rptSH.SetParameterValue("slbtdd", Convert.ToDecimal(ArrBT[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrBT[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                        }

                        if (ArrCD.Count() > 0)
                        {
                            rptSH.SetParameterValue("cdhd", Convert.ToDecimal(ArrCD[0]["CHISO_CU"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcddd", Convert.ToDecimal(ArrCD[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrCD[0]["SAN_LUONG"]).ToString("###,###,###.##"));

                            if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                            {
                                rptSH.SetParameterValue("cdcto", "ko có");
                                rptSH.SetParameterValue("cdktra", "ko có");
                                rptSH.SetParameterValue("cddd", "ko có");
                            }
                            else
                                if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                {
                                    rptSH.SetParameterValue("cdcto", Convert.ToDecimal(ArrCD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("cdktra", "ko có");
                                    rptSH.SetParameterValue("cddd", Convert.ToDecimal(ArrCD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                                else
                                {
                                    rptSH.SetParameterValue("cdcto", "ko có");
                                    rptSH.SetParameterValue("cdktra", Convert.ToDecimal(ArrCD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("cddd", Convert.ToDecimal(ArrCD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }

                        }
                        else
                        {
                            rptSH.SetParameterValue("cdhd", "");
                            rptSH.SetParameterValue("cdcto", "");
                            rptSH.SetParameterValue("cdktra", "");
                            rptSH.SetParameterValue("slcddd", Convert.ToDecimal(ArrCD[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrCD[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                        }

                        if (ArrTD.Count() > 0)
                        {
                            rptSH.SetParameterValue("tdhd", Convert.ToDecimal(ArrTD[0]["CHISO_CU"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltddd", Convert.ToDecimal(ArrTD[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrTD[0]["SAN_LUONG"]).ToString("###,###,###.##"));

                            if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                            {
                                rptSH.SetParameterValue("tdcto", "ko có");
                                rptSH.SetParameterValue("tdktra", "ko có");
                                rptSH.SetParameterValue("tddd", "ko có");
                            }
                            else
                                if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                {
                                    rptSH.SetParameterValue("tdcto", Convert.ToDecimal(ArrTD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("tdktra", "ko có");
                                    rptSH.SetParameterValue("tddd", Convert.ToDecimal(ArrTD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                                else
                                {
                                    rptSH.SetParameterValue("tdcto", "ko có");
                                    rptSH.SetParameterValue("tdktra", Convert.ToDecimal(ArrTD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("tddd", Convert.ToDecimal(ArrTD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                        }
                        else
                        {
                            rptSH.SetParameterValue("tdhd", "");
                            rptSH.SetParameterValue("tdcto", "");
                            rptSH.SetParameterValue("tdktra", "");
                            rptSH.SetParameterValue("sltddd", Convert.ToDecimal(ArrTD[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrTD[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                        }

                        if (ArrSG.Count() > 0)
                        {
                            rptSH.SetParameterValue("sghd", Convert.ToDecimal(ArrSG[0]["CHISO_CU"]).ToString("###,###,###.##"));

                            if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                            {
                                rptSH.SetParameterValue("sgcto", "ko có");
                                rptSH.SetParameterValue("sgktra", "ko có");
                            }
                            else
                                if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                {
                                    rptSH.SetParameterValue("sgcto", Convert.ToDecimal(ArrSG[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("sgktra", "ko có");
                                }
                                else
                                {
                                    rptSH.SetParameterValue("sgcto", "ko có");
                                    rptSH.SetParameterValue("sgktra", Convert.ToDecimal(ArrSG[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                        }
                        else
                        {
                            rptSH.SetParameterValue("sghd", "");
                            rptSH.SetParameterValue("sgcto", "");
                            rptSH.SetParameterValue("sgktra", "");
                        }

                        if (ArrVC.Count() > 0)
                        {
                            rptSH.SetParameterValue("vchd", Convert.ToDecimal(ArrVC[0]["CHISO_CU"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slvcdd", Convert.ToDecimal(ArrVC[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrVC[0]["SAN_LUONG"]).ToString("###,###,###.##"));

                            if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                            {
                                rptSH.SetParameterValue("vccto", "ko có");
                                rptSH.SetParameterValue("vcktra", "ko có");
                                rptSH.SetParameterValue("vcdd", "ko có");
                            }
                            else
                                if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                {
                                    rptSH.SetParameterValue("vccto", Convert.ToDecimal(ArrVC[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("vcktra", "ko có");
                                    rptSH.SetParameterValue("vcdd", Convert.ToDecimal(ArrVC[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                                else
                                {
                                    rptSH.SetParameterValue("vccto", "ko có");
                                    rptSH.SetParameterValue("vcktra", Convert.ToDecimal(ArrVC[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("vcdd", Convert.ToDecimal(ArrVC[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                        }
                        else
                        {
                            rptSH.SetParameterValue("vchd", "");
                            rptSH.SetParameterValue("vccto", "");
                            rptSH.SetParameterValue("vcktra", "");
                            rptSH.SetParameterValue("slvcdd", Convert.ToDecimal(ArrVC[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrVC[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                        }

                        DataRow[] ArrKy1 = dtchiso.Select("KY = 1");
                        DataRow[] ArrKy2 = dtchiso.Select("KY = 2");
                        DataRow[] ArrKy3 = dtchiso.Select("KY = 3");
                        DataRow[] ArrKy21 = dtchiso.Select("KY = 21");
                        DataRow[] ArrKy22 = dtchiso.Select("KY = 22");


                        if (ArrKy1.Count() > 0)
                        {
                            rptSH.SetParameterValue("slbt1", Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcd1", Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltd1", Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("khoangtg1", "Từ " + Convert.ToDateTime(ArrKy1.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy1.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                        }
                        else
                        {
                            rptSH.SetParameterValue("slbt1", "");
                            rptSH.SetParameterValue("slcd1", "");
                            rptSH.SetParameterValue("sltd1", "");
                            rptSH.SetParameterValue("khoangtg1", "");

                        }

                        if (ArrKy2.Count() > 0)
                        {
                            rptSH.SetParameterValue("slbt2", Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcd2", Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltd2", Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("khoangtg2", "Từ " + Convert.ToDateTime(ArrKy2.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy2.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                        }
                        else
                        {
                            rptSH.SetParameterValue("slbt2", "");
                            rptSH.SetParameterValue("slcd2", "");
                            rptSH.SetParameterValue("sltd2", "");
                            rptSH.SetParameterValue("khoangtg2", "");

                        }

                        if (ArrKy3.Count() > 0)
                        {
                            rptSH.SetParameterValue("slbt3", Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcd3", Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltd3", Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("khoangtg3", "Từ " + Convert.ToDateTime(ArrKy3.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy3.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                        }
                        else
                        {
                            rptSH.SetParameterValue("slbt3", "");
                            rptSH.SetParameterValue("slcd3", "");
                            rptSH.SetParameterValue("sltd3", "");
                            rptSH.SetParameterValue("khoangtg3", "");

                        }


                        // ky sau ngay su co                    
                        if (ArrKy21.Count() > 0 && ArrKy2.Count() < 1) // có kỳ 21 và không có kỳ 2 -> trước sự cố chỉ có 1 kỳ làm căn cứ -> kỳ 21 là kỳ căn cứ thứ 2
                        {
                            rptSH.SetParameterValue("slbt2", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcd2", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltd2", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("khoangtg2", "Từ " + Convert.ToDateTime(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEnd", dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEnd", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                        }

                        if (ArrKy21.Count() > 0 && ArrKy2.Count() > 0) // có kỳ 21 và có kỳ 2 -> trước sự cố có 2 kỳ làm căn cứ -> kỳ 21 là kỳ căn cứ thứ 3
                        {
                            rptSH.SetParameterValue("slbt3", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcd3", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltd3", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("khoangtg3", "Từ " + Convert.ToDateTime(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEnd", dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEnd", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                        }

                        if (ArrKy22.Count() > 0) // có kỳ 22 -> chắc chắn có 3 kỳ làm căn cứ -> kỳ 22 là kỳ căn cứ thứ 3
                        {
                            rptSH.SetParameterValue("slbt3", Convert.ToDecimal(ArrKy22.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcd3", Convert.ToDecimal(ArrKy22.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltd3", Convert.ToDecimal(ArrKy22.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("khoangtg3", "Từ " + Convert.ToDateTime(ArrKy22.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy22.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEnd", dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEnd", Convert.ToDateTime(dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                        }

                        if (ArrKy21.Count() < 1 && ArrKy22.Count() < 1)
                        {
                            rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEnd", dtddo.Rows[0]["GIOTRHU_DEN"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_DEN"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEnd", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_DEN"]).ToString("dd/MM/yyyy"));
                        }

                        rptSH.SetParameterValue("hsn", dtchiso.Rows[0]["HSN"].ToString());

                        rptSH.SetParameterValue("lichgcs", dsLichgcs.Tables[0].Rows[0]["NGAY_GHI"].ToString());
                        rptSH.SetParameterValue("giogannhat", dtddo.Rows[0]["GIOTRHU_TU"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_TU"].ToString() + "'");
                        rptSH.SetParameterValue("ngaygannhat", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_TU"]).ToString("dd/MM/yyyy"));
                        //rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                        //rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                        if (countKy >= 3)
                        {
                            if (ArrKy3.Count() > 0)
                            {
                                rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 3").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 3").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 3").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            }
                            else
                                if (ArrKy2.Count() > 0)
                                {
                                    rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                    rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                }
                                else
                                    if (ArrKy1.Count() > 0)
                                    {
                                        rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                        rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                    }

                            rptSH.SetParameterValue("soky", "3");
                        }

                        if (countKy == 2)
                        {
                            if (ArrKy2.Count() > 0)
                            {
                                rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            }
                            else
                                if (ArrKy21.Count() > 0)
                                {
                                    rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                    rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                }
                            rptSH.SetParameterValue("soky", "2");
                        }

                        if (countKy == 1)
                        {
                            rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            rptSH.SetParameterValue("soky", "1");
                        }

                        rptSH.SetParameterValue("SL_CANCU_BT", Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("SL_CANCU_CD", Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("SL_CANCU_TD", Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##"));

                        rptSH.SetParameterValue("TG_CANCU_BT", Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_CANCU"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("TG_CANCU_CD", Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_CANCU"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("TG_CANCU_TD", Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_CANCU"]).ToString("###,###,###.##"));

                        rptSH.SetParameterValue("BQ_CANCU_BT", (Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##") == string.Empty ? "0" : (Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##"));
                        rptSH.SetParameterValue("BQ_CANCU_CD", (Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##") == string.Empty ? "0" : (Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##"));
                        rptSH.SetParameterValue("BQ_CANCU_TD", (Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##") == string.Empty ? "0" : (Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##"));

                        rptSH.SetParameterValue("TG_TRTH_BT", Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("TG_TRTH_CD", Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("TG_TRTH_TD", Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##"));

                        decimal dcSL_FULLTT_BT = (Math.Round((Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_CANCU"])),2) * Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_TRTH"]));
                        decimal dcSL_FULLTT_CD = (Math.Round((Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_CANCU"])),2) * Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_TRTH"]));
                        decimal dcSL_FULLTT_TD = (Math.Round((Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_CANCU"])), 2) * Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_TRTH"]));
                        rptSH.SetParameterValue("SL_FULLTT_BT", dcSL_FULLTT_BT.ToString("###,###,###") == string.Empty ? "0" : dcSL_FULLTT_BT.ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_FULLTT_CD", dcSL_FULLTT_CD.ToString("###,###,###") == string.Empty ? "0" : dcSL_FULLTT_CD.ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_FULLTT_TD", dcSL_FULLTT_TD.ToString("###,###,###") == string.Empty ? "0" : dcSL_FULLTT_TD.ToString("###,###,###"));

                        rptSH.SetParameterValue("SL_THAO_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_THAO_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_THAO_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_THAO_VC", Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###"));

                        rptSH.SetParameterValue("SL_TRTHU_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TRTHU_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TRTHU_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TRTHU_VC", Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                        Int32 intTongSLTT = Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]);
                        rptSH.SetParameterValue("SL_TRTHU_TONG", intTongSLTT.ToString("###,###,###"));

                        Int32 intSL_TONG_BT = (Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_THAO"]));
                        Int32 intSL_TONG_CD = (Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_THAO"]));
                        Int32 intSL_TONG_TD = (Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_THAO"]));
                        Int32 intSL_TONG_VC = (Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_THAO"]));
                        Int32 intSL_TONG = (Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_THAO"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_THAO"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_THAO"]));
                        rptSH.SetParameterValue("SL_TONG_BT", intSL_TONG_BT.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG_BT.ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TONG_CD", intSL_TONG_CD.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG_CD.ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TONG_TD", intSL_TONG_TD.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG_TD.ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TONG_VC", intSL_TONG_VC.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG_VC.ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TONG", intSL_TONG.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG.ToString("###,###,###"));

                        rptSH.SetParameterValue("THANH_TIEN_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("THANH_TIEN_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("THANH_TIEN_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]).ToString("###,###,###"));

                        string strChuoigia = dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["CHUOI_GIA"].ToString();
                        string[] Arrgia = strChuoigia.Split(';');
                        string giaBT = Arrgia[0];
                        string giaCD = Arrgia[1];
                        string giaTD = Arrgia[2];

                        if (giaBT.Contains("100%") && giaCD.Contains("100%") && giaTD.Contains("100%"))
                        {
                            string[] ArrBTdetail = giaBT.Split('-');
                            string gbt = ArrBTdetail[0];
                            gbt = gbt.Remove(0, gbt.IndexOf("*") + 1);
                            rptSH.SetParameterValue("GiaBT", gbt);

                            string[] ArrCDdetail = giaCD.Split('-');
                            string gcd = ArrCDdetail[0];
                            gcd = gcd.Remove(0, gcd.IndexOf("*") + 1);
                            rptSH.SetParameterValue("GiaCD", gcd);

                            string[] ArrTDdetail = giaTD.Split('-');
                            string gtd = ArrTDdetail[0];
                            gtd = gtd.Remove(0, gtd.IndexOf("*") + 1);
                            rptSH.SetParameterValue("GiaTD", gtd);

                            rptSH.SetParameterValue("ghichu", "");
                        }
                        else
                        {
                            rptSH.SetParameterValue("GiaBT", "");
                            rptSH.SetParameterValue("GiaCD", "");
                            rptSH.SetParameterValue("GiaTD", "");
                            rptSH.SetParameterValue("ghichu", "Ghi chú: cột giá(5) không thể hiện do điểm đo được áp từ 2 loại giá trở lên.");
                        }

                        decimal tienVC = Convert.ToDecimal(Convert.ToInt32((Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["THANH_TIEN"]) * 1.1)));
                        rptSH.SetParameterValue("TIEN_VC", tienVC.ToString("###,###,###,###"));
                        rptSH.SetParameterValue("bangchuVC", VNCurrency.ToString(tienVC));

                        decimal thanhtien = 0;
                        thanhtien = Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]);
                        rptSH.SetParameterValue("THANH_TIEN", thanhtien.ToString("###,###,###,###"));
                        decimal tienthue = 0;
                        tienthue = thanhtien * Convert.ToDecimal(0.1);
                        rptSH.SetParameterValue("TIEN_THUE", Convert.ToInt32(tienthue).ToString("###,###,###,###"));
                        decimal tongtien = thanhtien + tienthue;
                        rptSH.SetParameterValue("TONG_TIEN", Convert.ToInt32(tongtien).ToString("###,###,###,###"));
                        rptSH.SetParameterValue("bangchu", VNCurrency.ToString(tongtien));

                        UtilReport.RptManager.showReportToWin(this, rptSH, strMa_dviqly, new string[] { "Formula1", "Formula2" }, new string[] { "Formula1", "Formula2" });


                        #endregion

                        #region === in chia ra làm 2 loai da ra HD va chua ra HD
                        /*
                        if (ckbDaraHD.IsChecked == false)
                        {    
                            #region Truy thu thong thuong

                        //rpt_NPC_TRTH_DTU rptSH = new rpt_NPC_TRTH_DTU();
                        rpt_NPC_TRTH_B16_DTU rptSH = new rpt_NPC_TRTH_B16_DTU();

                        rptSH.SetParameterValue("ID_TRTH", strIDBB);
                        rptSH.SetParameterValue("chuoigia", dtddo.Rows[0]["CHUOI_GIA"].ToString());
                        rptSH.SetParameterValue("DCHI_TTOAN", dtkhang.Rows[0]["DCHI_TTOAN"].ToString());
                        rptSH.SetParameterValue("dviqly_ctren", strTen_dviqly_CT.ToUpper());
                        rptSH.SetParameterValue("dviqly", strTen_dviqly);
                        rptSH.SetParameterValue("TEN_DDIEN1", dtkhang.Rows[0]["TEN_DDIEN1"].ToString());
                        rptSH.SetParameterValue("CVU_DDIEN1", dtkhang.Rows[0]["CVU_DDIEN1"].ToString());
                        rptSH.SetParameterValue("TEN_DDIEN2", dtkhang.Rows[0]["TEN_DDIEN2"].ToString());
                        rptSH.SetParameterValue("CVU_DDIEN2", dtkhang.Rows[0]["CVU_DDIEN2"].ToString());
                        rptSH.SetParameterValue("TEN_DDIEN3", dtkhang.Rows[0]["TEN_DDIEN3"].ToString());
                        rptSH.SetParameterValue("CVU_DDIEN3", dtkhang.Rows[0]["CVU_DDIEN3"].ToString());
                        rptSH.SetParameterValue("TEN_KHANG", dtkhang.Rows[0]["TEN_KHANG"].ToString().Trim());
                        rptSH.SetParameterValue("MA_KHANG", dtkhang.Rows[0]["MA_KHANG"].ToString());
                        rptSH.SetParameterValue("DIA_CHI", dtkhang.Rows[0]["DIA_CHI"].ToString());
                        rptSH.SetParameterValue("DDIEN_MUA", dtkhang.Rows[0]["DDIEN_MUA"].ToString());
                        rptSH.SetParameterValue("CVU_MUA", dtkhang.Rows[0]["CVU_MUA"].ToString());
                        if (dtkhang.Rows[0]["DDIEN_MUA2"].ToString() != string.Empty)
                        {
                            rptSH.SetParameterValue("DDIEN_MUA2", dtkhang.Rows[0]["DDIEN_MUA2"].ToString());
                        }
                        else
                        {
                            rptSH.SetParameterValue("DDIEN_MUA2", "");
                        }

                        if (dtkhang.Rows[0]["CVU_MUA2"].ToString() != string.Empty)
                        {
                            rptSH.SetParameterValue("CVU_MUA2", dtkhang.Rows[0]["CVU_MUA2"].ToString());
                        }
                        else
                        {
                            rptSH.SetParameterValue("CVU_MUA2", "");
                        }
                        rptSH.SetParameterValue("lydo", dtkhang.Rows[0]["NGUYEN_NHAN"].ToString());
                        rptSH.SetParameterValue("socto", dtddo.Rows[0]["SO_CTO"].ToString());
                        rptSH.SetParameterValue("loaicto", dtkhang.Rows[0]["LOAI_CTO"].ToString());
                        rptSH.SetParameterValue("giostop", dtddo.Rows[0]["GIOTRHU_DEN"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_DEN"].ToString() + "'");
                        rptSH.SetParameterValue("ngaystop", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_DEN"]).ToString("dd/MM/yyyy"));
                        rptSH.SetParameterValue("ngaykd", dtkhang.Rows[0]["NGAY_KDINH"].ToString() == string.Empty ? " . . ./ . . ./ . . . ." : Convert.ToDateTime(dtkhang.Rows[0]["NGAY_KDINH"]).ToString("dd/MM/yyyy"));
                        rptSH.SetParameterValue("cancu", "");
                        rptSH.SetParameterValue("HS_COSFI", dtkhang.Rows[0]["HS_COSFI"].ToString() == string.Empty ? "" : dtkhang.Rows[0]["HS_COSFI"].ToString());
                        rptSH.SetParameterValue("KCOSFI", dtkhang.Rows[0]["KCOSFI"].ToString() == string.Empty ? "" : dtkhang.Rows[0]["KCOSFI"].ToString());

                        rptSH.SetParameterValue("sobbktra", dtkhang.Rows[0]["SO_BB_KTRA"].ToString() == string.Empty ? " . . ." : dtkhang.Rows[0]["SO_BB_KTRA"].ToString());
                        rptSH.SetParameterValue("ngayktra", dtkhang.Rows[0]["NGAY_KTRA"].ToString() == string.Empty ? " . . ./ . . ./ . . . ." : Convert.ToDateTime(dtkhang.Rows[0]["NGAY_KTRA"]).ToString("dd/MM/yyyy"));
                        rptSH.SetParameterValue("sobbkdinh", dtkhang.Rows[0]["SO_BB_KDINH"].ToString().Trim() == string.Empty ? " . . ." : dtkhang.Rows[0]["SO_BB_KDINH"].ToString());
                        rptSH.SetParameterValue("thangTTHD", dtkhang.Rows[0]["THANG_TT"].ToString() == string.Empty ? " . . ." : dtkhang.Rows[0]["THANG_TT"].ToString());
                        rptSH.SetParameterValue("namTTHD", dtkhang.Rows[0]["NAM_TT"].ToString() == string.Empty ? " . . ." : dtkhang.Rows[0]["NAM_TT"].ToString());
                        rptSH.SetParameterValue("ngay", DateTime.Now.Day.ToString());
                        rptSH.SetParameterValue("thang", DateTime.Now.Month.ToString());
                        rptSH.SetParameterValue("nam", DateTime.Now.Year.ToString());


                        string strMaldo = dtddo.Rows[0]["MA_LDO"].ToString();

                        DataTable dtky0 = dtchiso.Select("KY = 0").CopyToDataTable();


                        DataRow[] ArrBT = dtky0.Select("BCS = 'BT'");
                        DataRow[] ArrCD = dtky0.Select("BCS = 'CD'");
                        DataRow[] ArrTD = dtky0.Select("BCS = 'TD'");
                        DataRow[] ArrSG = dtky0.Select("BCS = 'SG'");
                        DataRow[] ArrVC = dtky0.Select("BCS = 'VC'");

                        rptSH.SetParameterValue("btdd", "");

                        if (ArrBT.Count() > 0)
                        {
                            rptSH.SetParameterValue("bthd", Convert.ToDecimal(ArrBT[0]["CHISO_CU"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("tgianhdon", ArrBT[0]["GIO_DKY"].ToString() + "h" + ArrBT[0]["PHUT_DKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            rptSH.SetParameterValue("giochisogannhat", ArrBT[0]["GIO_DKY"].ToString() + "h" + ArrBT[0]["PHUT_DKY"].ToString());
                            rptSH.SetParameterValue("ngaychisogannhat", Convert.ToDateTime(ArrBT[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            rptSH.SetParameterValue("slbtdd", Convert.ToDecimal(ArrBT[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrBT[0]["SAN_LUONG"]).ToString("###,###,###.##"));

                            if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                            {
                                rptSH.SetParameterValue("btcto", "ko có");
                                rptSH.SetParameterValue("btktra", "ko có");
                                rptSH.SetParameterValue("tgiancto", "ko có");
                                rptSH.SetParameterValue("tgianktra", "ko có");
                                rptSH.SetParameterValue("tgiandd", "ko có");
                                rptSH.SetParameterValue("btdd", "ko có");
                            }
                            else
                                if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                {
                                    rptSH.SetParameterValue("btcto", Convert.ToDecimal(ArrBT[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("btktra", "ko có");
                                    if (ArrBT[0]["NGAY_CKY"].ToString() == string.Empty)
                                    {
                                        rptSH.SetParameterValue("tgiancto", "ko có");
                                        rptSH.SetParameterValue("tgiandd", "ko có");
                                    }
                                    else
                                    {
                                        if (Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]) == Convert.ToDateTime("01/01/1000"))
                                        {
                                            rptSH.SetParameterValue("tgiancto", "ko có");
                                            rptSH.SetParameterValue("tgiandd", "ko có");
                                        }
                                        else
                                        {
                                            rptSH.SetParameterValue("tgiancto", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                            rptSH.SetParameterValue("tgiandd", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                        }
                                    }
                                    //rptSH.SetParameterValue("tgiandd", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                    rptSH.SetParameterValue("tgianktra", "ko có");
                                    rptSH.SetParameterValue("btdd", Convert.ToDecimal(ArrBT[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                                else
                                {
                                    rptSH.SetParameterValue("btcto", "ko có");
                                    rptSH.SetParameterValue("btktra", Convert.ToDecimal(ArrBT[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("tgiancto", "ko có");
                                    rptSH.SetParameterValue("tgianktra", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                    rptSH.SetParameterValue("tgiandd", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                    rptSH.SetParameterValue("btdd", Convert.ToDecimal(ArrBT[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }

                        }
                        else
                        {
                            rptSH.SetParameterValue("bthd", "");
                            rptSH.SetParameterValue("btcto", "");
                            rptSH.SetParameterValue("btktra", "");
                            rptSH.SetParameterValue("slbtdd", Convert.ToDecimal(ArrBT[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrBT[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                        }

                        if (ArrCD.Count() > 0)
                        {
                            rptSH.SetParameterValue("cdhd", Convert.ToDecimal(ArrCD[0]["CHISO_CU"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcddd", Convert.ToDecimal(ArrCD[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrCD[0]["SAN_LUONG"]).ToString("###,###,###.##"));

                            if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                            {
                                rptSH.SetParameterValue("cdcto", "ko có");
                                rptSH.SetParameterValue("cdktra", "ko có");
                                rptSH.SetParameterValue("cddd", "ko có");
                            }
                            else
                                if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                {
                                    rptSH.SetParameterValue("cdcto", Convert.ToDecimal(ArrCD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("cdktra", "ko có");
                                    rptSH.SetParameterValue("cddd", Convert.ToDecimal(ArrCD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                                else
                                {
                                    rptSH.SetParameterValue("cdcto", "ko có");
                                    rptSH.SetParameterValue("cdktra", Convert.ToDecimal(ArrCD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("cddd", Convert.ToDecimal(ArrCD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }

                        }
                        else
                        {
                            rptSH.SetParameterValue("cdhd", "");
                            rptSH.SetParameterValue("cdcto", "");
                            rptSH.SetParameterValue("cdktra", "");
                            rptSH.SetParameterValue("slcddd", Convert.ToDecimal(ArrCD[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrCD[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                        }

                        if (ArrTD.Count() > 0)
                        {
                            rptSH.SetParameterValue("tdhd", Convert.ToDecimal(ArrTD[0]["CHISO_CU"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltddd", Convert.ToDecimal(ArrTD[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrTD[0]["SAN_LUONG"]).ToString("###,###,###.##"));

                            if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                            {
                                rptSH.SetParameterValue("tdcto", "ko có");
                                rptSH.SetParameterValue("tdktra", "ko có");
                                rptSH.SetParameterValue("tddd", "ko có");
                            }
                            else
                                if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                {
                                    rptSH.SetParameterValue("tdcto", Convert.ToDecimal(ArrTD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("tdktra", "ko có");
                                    rptSH.SetParameterValue("tddd", Convert.ToDecimal(ArrTD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                                else
                                {
                                    rptSH.SetParameterValue("tdcto", "ko có");
                                    rptSH.SetParameterValue("tdktra", Convert.ToDecimal(ArrTD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("tddd", Convert.ToDecimal(ArrTD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                        }
                        else
                        {
                            rptSH.SetParameterValue("tdhd", "");
                            rptSH.SetParameterValue("tdcto", "");
                            rptSH.SetParameterValue("tdktra", "");
                            rptSH.SetParameterValue("sltddd", Convert.ToDecimal(ArrTD[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrTD[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                        }

                        if (ArrSG.Count() > 0)
                        {
                            rptSH.SetParameterValue("sghd", Convert.ToDecimal(ArrSG[0]["CHISO_CU"]).ToString("###,###,###.##"));

                            if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                            {
                                rptSH.SetParameterValue("sgcto", "ko có");
                                rptSH.SetParameterValue("sgktra", "ko có");
                            }
                            else
                                if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                {
                                    rptSH.SetParameterValue("sgcto", Convert.ToDecimal(ArrSG[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("sgktra", "ko có");
                                }
                                else
                                {
                                    rptSH.SetParameterValue("sgcto", "ko có");
                                    rptSH.SetParameterValue("sgktra", Convert.ToDecimal(ArrSG[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                        }
                        else
                        {
                            rptSH.SetParameterValue("sghd", "");
                            rptSH.SetParameterValue("sgcto", "");
                            rptSH.SetParameterValue("sgktra", "");
                        }

                        if (ArrVC.Count() > 0)
                        {
                            rptSH.SetParameterValue("vchd", Convert.ToDecimal(ArrVC[0]["CHISO_CU"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slvcdd", Convert.ToDecimal(ArrVC[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrVC[0]["SAN_LUONG"]).ToString("###,###,###.##"));

                            if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                            {
                                rptSH.SetParameterValue("vccto", "ko có");
                                rptSH.SetParameterValue("vcktra", "ko có");
                                rptSH.SetParameterValue("vcdd", "ko có");
                            }
                            else
                                if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                {
                                    rptSH.SetParameterValue("vccto", Convert.ToDecimal(ArrVC[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("vcktra", "ko có");
                                    rptSH.SetParameterValue("vcdd", Convert.ToDecimal(ArrVC[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                                else
                                {
                                    rptSH.SetParameterValue("vccto", "ko có");
                                    rptSH.SetParameterValue("vcktra", Convert.ToDecimal(ArrVC[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    rptSH.SetParameterValue("vcdd", Convert.ToDecimal(ArrVC[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                }
                        }
                        else
                        {
                            rptSH.SetParameterValue("vchd", "");
                            rptSH.SetParameterValue("vccto", "");
                            rptSH.SetParameterValue("vcktra", "");
                            rptSH.SetParameterValue("slvcdd", Convert.ToDecimal(ArrVC[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrVC[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                        }

                        DataRow[] ArrKy1 = dtchiso.Select("KY = 1");
                        DataRow[] ArrKy2 = dtchiso.Select("KY = 2");
                        DataRow[] ArrKy3 = dtchiso.Select("KY = 3");
                        DataRow[] ArrKy21 = dtchiso.Select("KY = 21");
                        DataRow[] ArrKy22 = dtchiso.Select("KY = 22");


                        if (ArrKy1.Count() > 0)
                        {
                            rptSH.SetParameterValue("slbt1", Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcd1", Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltd1", Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("khoangtg1", "Từ " + Convert.ToDateTime(ArrKy1.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy1.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                        }
                        else
                        {
                            rptSH.SetParameterValue("slbt1", "");
                            rptSH.SetParameterValue("slcd1", "");
                            rptSH.SetParameterValue("sltd1", "");
                            rptSH.SetParameterValue("khoangtg1", "");

                        }

                        if (ArrKy2.Count() > 0)
                        {
                            rptSH.SetParameterValue("slbt2", Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcd2", Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltd2", Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("khoangtg2", "Từ " + Convert.ToDateTime(ArrKy2.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy2.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                        }
                        else
                        {
                            rptSH.SetParameterValue("slbt2", "");
                            rptSH.SetParameterValue("slcd2", "");
                            rptSH.SetParameterValue("sltd2", "");
                            rptSH.SetParameterValue("khoangtg2", "");

                        }

                        if (ArrKy3.Count() > 0)
                        {
                            rptSH.SetParameterValue("slbt3", Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcd3", Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltd3", Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("khoangtg3", "Từ " + Convert.ToDateTime(ArrKy3.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy3.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                        }
                        else
                        {
                            rptSH.SetParameterValue("slbt3", "");
                            rptSH.SetParameterValue("slcd3", "");
                            rptSH.SetParameterValue("sltd3", "");
                            rptSH.SetParameterValue("khoangtg3", "");

                        }


                        // ky sau ngay su co                    
                        if (ArrKy21.Count() > 0 && ArrKy2.Count() < 1) // có kỳ 21 và không có kỳ 2 -> trước sự cố chỉ có 1 kỳ làm căn cứ -> kỳ 21 là kỳ căn cứ thứ 2
                        {
                            rptSH.SetParameterValue("slbt2", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcd2", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltd2", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("khoangtg2", "Từ " + Convert.ToDateTime(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEnd", dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEnd", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                        }

                        if (ArrKy21.Count() > 0 && ArrKy2.Count() > 0) // có kỳ 21 và có kỳ 2 -> trước sự cố có 2 kỳ làm căn cứ -> kỳ 21 là kỳ căn cứ thứ 3
                        {
                            rptSH.SetParameterValue("slbt3", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcd3", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltd3", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("khoangtg3", "Từ " + Convert.ToDateTime(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEnd", dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEnd", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                        }

                        if (ArrKy22.Count() > 0) // có kỳ 22 -> chắc chắn có 3 kỳ làm căn cứ -> kỳ 22 là kỳ căn cứ thứ 3
                        {
                            rptSH.SetParameterValue("slbt3", Convert.ToDecimal(ArrKy22.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("slcd3", Convert.ToDecimal(ArrKy22.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("sltd3", Convert.ToDecimal(ArrKy22.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("khoangtg3", "Từ " + Convert.ToDateTime(ArrKy22.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy22.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEnd", dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEnd", Convert.ToDateTime(dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                        }

                        if (ArrKy21.Count() < 1 && ArrKy22.Count() < 1)
                        {
                            rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            rptSH.SetParameterValue("gioEnd", dtddo.Rows[0]["GIOTRHU_DEN"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_DEN"].ToString() + "'");
                            rptSH.SetParameterValue("ngayEnd", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_DEN"]).ToString("dd/MM/yyyy"));
                        }

                        rptSH.SetParameterValue("hsn", dtchiso.Rows[0]["HSN"].ToString());

                        rptSH.SetParameterValue("lichgcs", dsLichgcs.Tables[0].Rows[0]["NGAY_GHI"].ToString());
                        rptSH.SetParameterValue("giogannhat", dtddo.Rows[0]["GIOTRHU_TU"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_TU"].ToString() + "'");
                        rptSH.SetParameterValue("ngaygannhat", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_TU"]).ToString("dd/MM/yyyy"));
                        //rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                        //rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                        if (countKy >= 3)
                        {
                            if (ArrKy3.Count() > 0)
                            {
                                rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 3").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 3").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 3").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            }
                            else
                                if (ArrKy2.Count() > 0)
                                {
                                    rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                    rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                }
                                else
                                    if (ArrKy1.Count() > 0)
                                    {
                                        rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                        rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                    }

                            rptSH.SetParameterValue("soky", "3");
                        }

                        if (countKy == 2)
                        {
                            if (ArrKy2.Count() > 0)
                            {
                                rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            }
                            else
                                if (ArrKy21.Count() > 0)
                                {
                                    rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                    rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                }
                            rptSH.SetParameterValue("soky", "2");
                        }

                        if (countKy == 1)
                        {
                            rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                            rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            rptSH.SetParameterValue("soky", "1");
                        }

                        rptSH.SetParameterValue("SL_CANCU_BT", Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("SL_CANCU_CD", Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("SL_CANCU_TD", Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##"));

                        rptSH.SetParameterValue("TG_CANCU_BT", Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_CANCU"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("TG_CANCU_CD", Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_CANCU"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("TG_CANCU_TD", Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_CANCU"]).ToString("###,###,###.##"));

                        rptSH.SetParameterValue("BQ_CANCU_BT", (Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##") == string.Empty ? "0" : (Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##"));
                        rptSH.SetParameterValue("BQ_CANCU_CD", (Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##") == string.Empty ? "0" : (Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##"));
                        rptSH.SetParameterValue("BQ_CANCU_TD", (Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##") == string.Empty ? "0" : (Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##"));

                        rptSH.SetParameterValue("TG_TRTH_BT", Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("TG_TRTH_CD", Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("TG_TRTH_TD", Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##"));

                        decimal dcSL_FULLTT_BT = ((Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_CANCU"])) * Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_TRTH"]));
                        decimal dcSL_FULLTT_CD = ((Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_CANCU"])) * Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_TRTH"]));
                        decimal dcSL_FULLTT_TD = ((Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_CANCU"])) * Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_TRTH"]));
                        rptSH.SetParameterValue("SL_FULLTT_BT", dcSL_FULLTT_BT.ToString("###,###,###") == string.Empty ? "0" : dcSL_FULLTT_BT.ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_FULLTT_CD", dcSL_FULLTT_CD.ToString("###,###,###") == string.Empty ? "0" : dcSL_FULLTT_CD.ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_FULLTT_TD", dcSL_FULLTT_TD.ToString("###,###,###") == string.Empty ? "0" : dcSL_FULLTT_TD.ToString("###,###,###"));

                        rptSH.SetParameterValue("SL_THAO_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_THAO_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_THAO_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_THAO_VC", Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###"));

                        rptSH.SetParameterValue("SL_TRTHU_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TRTHU_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TRTHU_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TRTHU_VC", Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                        Int32 intTongSLTT = Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]);
                        rptSH.SetParameterValue("SL_TRTHU_TONG", intTongSLTT.ToString("###,###,###"));

                        Int32 intSL_TONG_BT = (Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_THAO"]));
                        Int32 intSL_TONG_CD = (Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_THAO"]));
                        Int32 intSL_TONG_TD = (Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_THAO"]));
                        Int32 intSL_TONG_VC = (Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_THAO"]));
                        Int32 intSL_TONG = (Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_THAO"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_THAO"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_THAO"]));
                        rptSH.SetParameterValue("SL_TONG_BT", intSL_TONG_BT.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG_BT.ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TONG_CD", intSL_TONG_CD.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG_CD.ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TONG_TD", intSL_TONG_TD.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG_TD.ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TONG_VC", intSL_TONG_VC.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG_VC.ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TONG", intSL_TONG.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG.ToString("###,###,###"));

                        rptSH.SetParameterValue("THANH_TIEN_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("THANH_TIEN_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("THANH_TIEN_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN"]).ToString("###,###,###"));

                        string strChuoigia = dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["CHUOI_GIA"].ToString();
                        string[] Arrgia = strChuoigia.Split(';');
                        string giaBT = Arrgia[0];
                        string giaCD = Arrgia[1];
                        string giaTD = Arrgia[2];

                        if (giaBT.Contains("100%") && giaCD.Contains("100%") && giaTD.Contains("100%"))
                        {
                            string[] ArrBTdetail = giaBT.Split('-');
                            string gbt = ArrBTdetail[0];
                            gbt = gbt.Remove(0, gbt.IndexOf("*") + 1);
                            rptSH.SetParameterValue("GiaBT", gbt);

                            string[] ArrCDdetail = giaCD.Split('-');
                            string gcd = ArrCDdetail[0];
                            gcd = gcd.Remove(0, gcd.IndexOf("*") + 1);
                            rptSH.SetParameterValue("GiaCD", gcd);

                            string[] ArrTDdetail = giaTD.Split('-');
                            string gtd = ArrTDdetail[0];
                            gtd = gtd.Remove(0, gtd.IndexOf("*") + 1);
                            rptSH.SetParameterValue("GiaTD", gtd);

                            rptSH.SetParameterValue("ghichu", "");
                        }
                        else
                        {
                            rptSH.SetParameterValue("GiaBT", "");
                            rptSH.SetParameterValue("GiaCD", "");
                            rptSH.SetParameterValue("GiaTD", "");
                            rptSH.SetParameterValue("ghichu", "Ghi chú: cột giá(5) không thể hiện do điểm đo được áp từ 2 loại giá trở lên.");
                        }

                        decimal tienVC = Convert.ToDecimal(Convert.ToInt32((Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["THANH_TIEN"]) * 1.1)));
                        rptSH.SetParameterValue("TIEN_VC", tienVC.ToString("###,###,###,###"));
                        rptSH.SetParameterValue("bangchuVC", VNCurrency.ToString(tienVC));

                        decimal thanhtien = 0;
                        thanhtien = Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN"]);
                        rptSH.SetParameterValue("THANH_TIEN", thanhtien.ToString("###,###,###,###"));
                        decimal tienthue = 0;
                        tienthue = thanhtien * Convert.ToDecimal(0.1);
                        rptSH.SetParameterValue("TIEN_THUE", Convert.ToInt32(tienthue).ToString("###,###,###,###"));
                        decimal tongtien = thanhtien + tienthue;
                        rptSH.SetParameterValue("TONG_TIEN", Convert.ToInt32(tongtien).ToString("###,###,###,###"));
                        rptSH.SetParameterValue("bangchu", VNCurrency.ToString(tongtien));

                        UtilReport.RptManager.showReportToWin(this, rptSH, strMa_dviqly, new string[] { "Formula1", "Formula2" }, new string[] { "Formula1", "Formula2" });


                        #endregion
                        }
                        else
                        {
                            #region Truy thu thong thuong đã ra hóa đơn phần sluong đọc được

                            rpt_NPC_TRTH_DTU_DaraHD rptSH = new rpt_NPC_TRTH_DTU_DaraHD();

                            rptSH.SetParameterValue("ID_TRTH", strIDBB);
                            rptSH.SetParameterValue("chuoigia", dtddo.Rows[0]["CHUOI_GIA"].ToString());
                            rptSH.SetParameterValue("DCHI_TTOAN", dtkhang.Rows[0]["DCHI_TTOAN"].ToString());
                            rptSH.SetParameterValue("dviqly_ctren", strTen_dviqly_CT.ToUpper());
                            rptSH.SetParameterValue("dviqly", strTen_dviqly);
                            rptSH.SetParameterValue("TEN_DDIEN1", dtkhang.Rows[0]["TEN_DDIEN1"].ToString());
                            rptSH.SetParameterValue("CVU_DDIEN1", dtkhang.Rows[0]["CVU_DDIEN1"].ToString());
                            rptSH.SetParameterValue("TEN_DDIEN2", dtkhang.Rows[0]["TEN_DDIEN2"].ToString());
                            rptSH.SetParameterValue("CVU_DDIEN2", dtkhang.Rows[0]["CVU_DDIEN2"].ToString());
                            rptSH.SetParameterValue("TEN_DDIEN3", dtkhang.Rows[0]["TEN_DDIEN3"].ToString());
                            rptSH.SetParameterValue("CVU_DDIEN3", dtkhang.Rows[0]["CVU_DDIEN3"].ToString());
                            rptSH.SetParameterValue("TEN_KHANG", dtkhang.Rows[0]["TEN_KHANG"].ToString().Trim());
                            rptSH.SetParameterValue("MA_KHANG", dtkhang.Rows[0]["MA_KHANG"].ToString());
                            rptSH.SetParameterValue("DIA_CHI", dtkhang.Rows[0]["DIA_CHI"].ToString());
                            rptSH.SetParameterValue("DDIEN_MUA", dtkhang.Rows[0]["DDIEN_MUA"].ToString());
                            rptSH.SetParameterValue("CVU_MUA", dtkhang.Rows[0]["CVU_MUA"].ToString());
                            if (dtkhang.Rows[0]["DDIEN_MUA2"].ToString() != string.Empty)
                            {
                                rptSH.SetParameterValue("DDIEN_MUA2", dtkhang.Rows[0]["DDIEN_MUA2"].ToString());
                            }
                            else
                            {
                                rptSH.SetParameterValue("DDIEN_MUA2", "");
                            }

                            if (dtkhang.Rows[0]["CVU_MUA2"].ToString() != string.Empty)
                            {
                                rptSH.SetParameterValue("CVU_MUA2", dtkhang.Rows[0]["CVU_MUA2"].ToString());
                            }
                            else
                            {
                                rptSH.SetParameterValue("CVU_MUA2", "");
                            }
                            rptSH.SetParameterValue("lydo", dtkhang.Rows[0]["NGUYEN_NHAN"].ToString());
                            rptSH.SetParameterValue("socto", dtddo.Rows[0]["SO_CTO"].ToString());
                            rptSH.SetParameterValue("loaicto", dtkhang.Rows[0]["LOAI_CTO"].ToString());
                            rptSH.SetParameterValue("giostop", dtddo.Rows[0]["GIOTRHU_DEN"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_DEN"].ToString() + "'");
                            rptSH.SetParameterValue("ngaystop", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_DEN"]).ToString("dd/MM/yyyy"));
                            rptSH.SetParameterValue("ngaykd", dtkhang.Rows[0]["NGAY_KDINH"].ToString() == string.Empty ? " . . ./ . . ./ . . . ." : Convert.ToDateTime(dtkhang.Rows[0]["NGAY_KDINH"]).ToString("dd/MM/yyyy"));
                            rptSH.SetParameterValue("cancu", "");
                            rptSH.SetParameterValue("HS_COSFI", dtkhang.Rows[0]["HS_COSFI"].ToString() == string.Empty ? "" : dtkhang.Rows[0]["HS_COSFI"].ToString());
                            rptSH.SetParameterValue("KCOSFI", dtkhang.Rows[0]["KCOSFI"].ToString() == string.Empty ? "" : dtkhang.Rows[0]["KCOSFI"].ToString());


                            string strMaldo = dtddo.Rows[0]["MA_LDO"].ToString();

                            DataTable dtky0 = dtchiso.Select("KY = 0").CopyToDataTable();


                            DataRow[] ArrBT = dtky0.Select("BCS = 'BT'");
                            DataRow[] ArrCD = dtky0.Select("BCS = 'CD'");
                            DataRow[] ArrTD = dtky0.Select("BCS = 'TD'");
                            DataRow[] ArrSG = dtky0.Select("BCS = 'SG'");
                            DataRow[] ArrVC = dtky0.Select("BCS = 'VC'");

                            rptSH.SetParameterValue("btdd", "");

                            if (ArrBT.Count() > 0)
                            {
                                rptSH.SetParameterValue("bthd", Convert.ToDecimal(ArrBT[0]["CHISO_CU"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("tgianhdon", ArrBT[0]["GIO_DKY"].ToString() + "h" + ArrBT[0]["PHUT_DKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                rptSH.SetParameterValue("giochisogannhat", ArrBT[0]["GIO_DKY"].ToString() + "h" + ArrBT[0]["PHUT_DKY"].ToString());
                                rptSH.SetParameterValue("ngaychisogannhat", Convert.ToDateTime(ArrBT[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                rptSH.SetParameterValue("slbtdd", Convert.ToDecimal(ArrBT[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrBT[0]["SAN_LUONG"]).ToString("###,###,###.##"));

                                if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                                {
                                    rptSH.SetParameterValue("btcto", "ko có");
                                    rptSH.SetParameterValue("btktra", "ko có");
                                    rptSH.SetParameterValue("tgiancto", "ko có");
                                    rptSH.SetParameterValue("tgianktra", "ko có");
                                    rptSH.SetParameterValue("tgiandd", "ko có");
                                    rptSH.SetParameterValue("btdd", "ko có");
                                }
                                else
                                    if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                    {
                                        rptSH.SetParameterValue("btcto", Convert.ToDecimal(ArrBT[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                        rptSH.SetParameterValue("btktra", "ko có");
                                        if (ArrBT[0]["NGAY_CKY"].ToString() == string.Empty)
                                        {
                                            rptSH.SetParameterValue("tgiancto", "ko có");
                                            rptSH.SetParameterValue("tgiandd", "ko có");
                                        }
                                        else
                                        {
                                            if (Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]) == Convert.ToDateTime("01/01/1000"))
                                            {
                                                rptSH.SetParameterValue("tgiancto", "ko có");
                                                rptSH.SetParameterValue("tgiandd", "ko có");
                                            }
                                            else
                                            {
                                                rptSH.SetParameterValue("tgiancto", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                                rptSH.SetParameterValue("tgiandd", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                            }
                                        }  
                                        //rptSH.SetParameterValue("tgiandd", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                        rptSH.SetParameterValue("tgianktra", "ko có");
                                        rptSH.SetParameterValue("btdd", Convert.ToDecimal(ArrBT[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    }
                                    else
                                    {
                                        rptSH.SetParameterValue("btcto", "ko có");
                                        rptSH.SetParameterValue("btktra", Convert.ToDecimal(ArrBT[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                        rptSH.SetParameterValue("tgiancto", "ko có");
                                        rptSH.SetParameterValue("tgianktra", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                        rptSH.SetParameterValue("tgiandd", ArrBT[0]["GIO_CKY"].ToString() + "h" + ArrBT[0]["PHUT_CKY"].ToString() + "'-" + Convert.ToDateTime(ArrBT[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                                        rptSH.SetParameterValue("btdd", Convert.ToDecimal(ArrBT[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    }

                            }
                            else
                            {
                                rptSH.SetParameterValue("bthd", "");
                                rptSH.SetParameterValue("btcto", "");
                                rptSH.SetParameterValue("btktra", "");
                                rptSH.SetParameterValue("slbtdd", Convert.ToDecimal(ArrBT[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrBT[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            }

                            if (ArrCD.Count() > 0)
                            {
                                rptSH.SetParameterValue("cdhd", Convert.ToDecimal(ArrCD[0]["CHISO_CU"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("slcddd", Convert.ToDecimal(ArrCD[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrCD[0]["SAN_LUONG"]).ToString("###,###,###.##"));

                                if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                                {
                                    rptSH.SetParameterValue("cdcto", "ko có");
                                    rptSH.SetParameterValue("cdktra", "ko có");
                                    rptSH.SetParameterValue("cddd", "ko có");
                                }
                                else
                                    if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                    {
                                        rptSH.SetParameterValue("cdcto", Convert.ToDecimal(ArrCD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                        rptSH.SetParameterValue("cdktra", "ko có");
                                        rptSH.SetParameterValue("cddd", Convert.ToDecimal(ArrCD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    }
                                    else
                                    {
                                        rptSH.SetParameterValue("cdcto", "ko có");
                                        rptSH.SetParameterValue("cdktra", Convert.ToDecimal(ArrCD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                        rptSH.SetParameterValue("cddd", Convert.ToDecimal(ArrCD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    }

                            }
                            else
                            {
                                rptSH.SetParameterValue("cdhd", "");
                                rptSH.SetParameterValue("cdcto", "");
                                rptSH.SetParameterValue("cdktra", "");
                                rptSH.SetParameterValue("slcddd", Convert.ToDecimal(ArrCD[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrCD[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            }

                            if (ArrTD.Count() > 0)
                            {
                                rptSH.SetParameterValue("tdhd", Convert.ToDecimal(ArrTD[0]["CHISO_CU"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("sltddd", Convert.ToDecimal(ArrTD[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrTD[0]["SAN_LUONG"]).ToString("###,###,###.##"));

                                if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                                {
                                    rptSH.SetParameterValue("tdcto", "ko có");
                                    rptSH.SetParameterValue("tdktra", "ko có");
                                    rptSH.SetParameterValue("tddd", "ko có");
                                }
                                else
                                    if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                    {
                                        rptSH.SetParameterValue("tdcto", Convert.ToDecimal(ArrTD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                        rptSH.SetParameterValue("tdktra", "ko có");
                                        rptSH.SetParameterValue("tddd", Convert.ToDecimal(ArrTD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    }
                                    else
                                    {
                                        rptSH.SetParameterValue("tdcto", "ko có");
                                        rptSH.SetParameterValue("tdktra", Convert.ToDecimal(ArrTD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                        rptSH.SetParameterValue("tddd", Convert.ToDecimal(ArrTD[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    }
                            }
                            else
                            {
                                rptSH.SetParameterValue("tdhd", "");
                                rptSH.SetParameterValue("tdcto", "");
                                rptSH.SetParameterValue("tdktra", "");
                                rptSH.SetParameterValue("sltddd", Convert.ToDecimal(ArrTD[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrTD[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            }

                            if (ArrSG.Count() > 0)
                            {
                                rptSH.SetParameterValue("sghd", Convert.ToDecimal(ArrSG[0]["CHISO_CU"]).ToString("###,###,###.##"));

                                if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                                {
                                    rptSH.SetParameterValue("sgcto", "ko có");
                                    rptSH.SetParameterValue("sgktra", "ko có");
                                }
                                else
                                    if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                    {
                                        rptSH.SetParameterValue("sgcto", Convert.ToDecimal(ArrSG[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                        rptSH.SetParameterValue("sgktra", "ko có");
                                    }
                                    else
                                    {
                                        rptSH.SetParameterValue("sgcto", "ko có");
                                        rptSH.SetParameterValue("sgktra", Convert.ToDecimal(ArrSG[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    }
                            }
                            else
                            {
                                rptSH.SetParameterValue("sghd", "");
                                rptSH.SetParameterValue("sgcto", "");
                                rptSH.SetParameterValue("sgktra", "");
                            }

                            if (ArrVC.Count() > 0)
                            {
                                rptSH.SetParameterValue("vchd", Convert.ToDecimal(ArrVC[0]["CHISO_CU"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("slvcdd", Convert.ToDecimal(ArrVC[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrVC[0]["SAN_LUONG"]).ToString("###,###,###.##"));

                                if (strMaldo.Substring(2, 1) == "0")// khong doc duoc chi so
                                {
                                    rptSH.SetParameterValue("vccto", "ko có");
                                    rptSH.SetParameterValue("vcktra", "ko có");
                                    rptSH.SetParameterValue("vcdd", "ko có");
                                }
                                else
                                    if (strMaldo.Substring(2, 1) == "1")// doc duoc chi so tu cong to
                                    {
                                        rptSH.SetParameterValue("vccto", Convert.ToDecimal(ArrVC[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                        rptSH.SetParameterValue("vcktra", "ko có");
                                        rptSH.SetParameterValue("vcdd", Convert.ToDecimal(ArrVC[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    }
                                    else
                                    {
                                        rptSH.SetParameterValue("vccto", "ko có");
                                        rptSH.SetParameterValue("vcktra", Convert.ToDecimal(ArrVC[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                        rptSH.SetParameterValue("vcdd", Convert.ToDecimal(ArrVC[0]["CHISO_MOI"]).ToString("###,###,###.##"));
                                    }
                            }
                            else
                            {
                                rptSH.SetParameterValue("vchd", "");
                                rptSH.SetParameterValue("vccto", "");
                                rptSH.SetParameterValue("vcktra", "");
                                rptSH.SetParameterValue("slvcdd", Convert.ToDecimal(ArrVC[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrVC[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                            }

                            DataRow[] ArrKy1 = dtchiso.Select("KY = 1");
                            DataRow[] ArrKy2 = dtchiso.Select("KY = 2");
                            DataRow[] ArrKy3 = dtchiso.Select("KY = 3");
                            DataRow[] ArrKy21 = dtchiso.Select("KY = 21");
                            DataRow[] ArrKy22 = dtchiso.Select("KY = 22");


                            if (ArrKy1.Count() > 0)
                            {
                                rptSH.SetParameterValue("slbt1", Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("slcd1", Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("sltd1", Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy1.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("khoangtg1", "Từ " + Convert.ToDateTime(ArrKy1.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy1.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                            }
                            else
                            {
                                rptSH.SetParameterValue("slbt1", "");
                                rptSH.SetParameterValue("slcd1", "");
                                rptSH.SetParameterValue("sltd1", "");
                                rptSH.SetParameterValue("khoangtg1", "");

                            }

                            if (ArrKy2.Count() > 0)
                            {
                                rptSH.SetParameterValue("slbt2", Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("slcd2", Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("sltd2", Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy2.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("khoangtg2", "Từ " + Convert.ToDateTime(ArrKy2.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy2.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            }
                            else
                            {
                                rptSH.SetParameterValue("slbt2", "");
                                rptSH.SetParameterValue("slcd2", "");
                                rptSH.SetParameterValue("sltd2", "");
                                rptSH.SetParameterValue("khoangtg2", "");

                            }

                            if (ArrKy3.Count() > 0)
                            {
                                rptSH.SetParameterValue("slbt3", Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("slcd3", Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("sltd3", Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(ArrKy3.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("khoangtg3", "Từ " + Convert.ToDateTime(ArrKy3.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy3.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            }
                            else
                            {
                                rptSH.SetParameterValue("slbt3", "");
                                rptSH.SetParameterValue("slcd3", "");
                                rptSH.SetParameterValue("sltd3", "");
                                rptSH.SetParameterValue("khoangtg3", "");

                            }


                            // ky sau ngay su co                    
                            if (ArrKy21.Count() > 0 && ArrKy2.Count() < 1) // có kỳ 21 và không có kỳ 2 -> trước sự cố chỉ có 1 kỳ làm căn cứ -> kỳ 21 là kỳ căn cứ thứ 2
                            {
                                rptSH.SetParameterValue("slbt2", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("slcd2", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("sltd2", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("khoangtg2", "Từ " + Convert.ToDateTime(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                                rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                                rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                                rptSH.SetParameterValue("gioEnd", dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                                rptSH.SetParameterValue("ngayEnd", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            }

                            if (ArrKy21.Count() > 0 && ArrKy2.Count() > 0) // có kỳ 21 và có kỳ 2 -> trước sự cố có 2 kỳ làm căn cứ -> kỳ 21 là kỳ căn cứ thứ 3
                            {
                                rptSH.SetParameterValue("slbt3", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("slcd3", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("sltd3", Convert.ToDecimal(ArrKy21.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("khoangtg3", "Từ " + Convert.ToDateTime(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy21.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                                rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                                rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                                rptSH.SetParameterValue("gioEnd", dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                                rptSH.SetParameterValue("ngayEnd", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                            }

                            if (ArrKy22.Count() > 0) // có kỳ 22 -> chắc chắn có 3 kỳ làm căn cứ -> kỳ 22 là kỳ căn cứ thứ 3
                            {
                                rptSH.SetParameterValue("slbt3", Convert.ToDecimal(ArrKy22.CopyToDataTable().Select("BCS = 'BT'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("slcd3", Convert.ToDecimal(ArrKy22.CopyToDataTable().Select("BCS = 'CD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("sltd3", Convert.ToDecimal(ArrKy22.CopyToDataTable().Select("BCS = 'TD'")[0]["SAN_LUONG"]).ToString("###,###,###.##"));
                                rptSH.SetParameterValue("khoangtg3", "Từ " + Convert.ToDateTime(ArrKy22.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_DKY"]).ToString("dd/MM/yyyy") + " đến " + Convert.ToDateTime(ArrKy22.CopyToDataTable().Select("BCS = 'BT'")[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                                rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                                rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                                rptSH.SetParameterValue("gioEnd", dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                                rptSH.SetParameterValue("ngayEnd", Convert.ToDateTime(dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            }

                            if (ArrKy21.Count() < 1 && ArrKy22.Count() < 1)
                            {
                                rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                                rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                                rptSH.SetParameterValue("gioEnd", dtddo.Rows[0]["GIOTRHU_DEN"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_DEN"].ToString() + "'");
                                rptSH.SetParameterValue("ngayEnd", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_DEN"]).ToString("dd/MM/yyyy"));
                            }

                            rptSH.SetParameterValue("hsn", dtchiso.Rows[0]["HSN"].ToString());

                            //DataSet dsLichgcs = GlobalServices.Service_Truythu.Get_ky_GCS(strMa_dviqly, strMa_ddo);
                            rptSH.SetParameterValue("lichgcs", dsLichgcs.Tables[0].Rows[0]["NGAY_GHI"].ToString());
                            rptSH.SetParameterValue("giogannhat", dtddo.Rows[0]["GIOTRHU_TU"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_TU"].ToString() + "'");
                            rptSH.SetParameterValue("ngaygannhat", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_TU"]).ToString("dd/MM/yyyy"));
                            //rptSH.SetParameterValue("gioEcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_CKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_CKY"].ToString() + "'");
                            //rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                            if (countKy >= 3)
                            {
                                if (ArrKy3.Count() > 0)
                                {
                                    rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 3").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 3").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                    rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 3").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                }
                                else
                                    if (ArrKy2.Count() > 0)
                                    {
                                        rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                        rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                    }
                                    else
                                        if (ArrKy1.Count() > 0)
                                        {
                                            rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                            rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                        }

                                rptSH.SetParameterValue("soky", "3");
                            }

                            if (countKy == 2)
                            {
                                if (ArrKy2.Count() > 0)
                                {
                                    rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                    rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                }
                                else
                                    if (ArrKy21.Count() > 0)
                                    {
                                        rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                        rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                    }
                                rptSH.SetParameterValue("soky", "2");
                            }

                            if (countKy == 1)
                            {
                                rptSH.SetParameterValue("gioBcancu", dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["GIO_DKY"].ToString() + "h" + dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["PHUT_DKY"].ToString() + "'");
                                rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                rptSH.SetParameterValue("soky", "1");
                            }

                            rptSH.SetParameterValue("SL_CANCU_BT", Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("SL_CANCU_CD", Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("SL_CANCU_TD", Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##"));

                            rptSH.SetParameterValue("TG_CANCU_BT", Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_CANCU"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("TG_CANCU_CD", Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_CANCU"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("TG_CANCU_TD", Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_CANCU"]).ToString("###,###,###.##"));

                            rptSH.SetParameterValue("BQ_CANCU_BT", (Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##") == string.Empty ? "0" : (Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##"));
                            rptSH.SetParameterValue("BQ_CANCU_CD", (Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##") == string.Empty ? "0" : (Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##"));
                            rptSH.SetParameterValue("BQ_CANCU_TD", (Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##") == string.Empty ? "0" : (Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_CANCU"])).ToString("###,###.##"));

                            rptSH.SetParameterValue("TG_TRTH_BT", Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("TG_TRTH_CD", Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##"));
                            rptSH.SetParameterValue("TG_TRTH_TD", Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##") == string.Empty ? "0" : Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_TRTH"]).ToString("###,###,###.##"));

                            decimal dcSL_FULLTT_BT = ((Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_CANCU"])) * Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["TG_TRTH"]));
                            decimal dcSL_FULLTT_CD = ((Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_CANCU"])) * Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["TG_TRTH"]));
                            decimal dcSL_FULLTT_TD = ((Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_CANCU"])) * Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["TG_TRTH"]));
                            rptSH.SetParameterValue("SL_FULLTT_BT", dcSL_FULLTT_BT.ToString("###,###,###") == string.Empty ? "0" : dcSL_FULLTT_BT.ToString("###,###,###"));
                            rptSH.SetParameterValue("SL_FULLTT_CD", dcSL_FULLTT_CD.ToString("###,###,###") == string.Empty ? "0" : dcSL_FULLTT_CD.ToString("###,###,###"));
                            rptSH.SetParameterValue("SL_FULLTT_TD", dcSL_FULLTT_TD.ToString("###,###,###") == string.Empty ? "0" : dcSL_FULLTT_TD.ToString("###,###,###"));

                            rptSH.SetParameterValue("SL_THAO_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###"));
                            rptSH.SetParameterValue("SL_THAO_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###"));
                            rptSH.SetParameterValue("SL_THAO_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###"));
                            rptSH.SetParameterValue("SL_THAO_VC", Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###"));

                            rptSH.SetParameterValue("SL_TRTHU_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                            rptSH.SetParameterValue("SL_TRTHU_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                            rptSH.SetParameterValue("SL_TRTHU_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                            rptSH.SetParameterValue("SL_TRTHU_VC", Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));

                            Int32 intSL_TONG_BT = (Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_THAO"]));
                            Int32 intSL_TONG_CD = (Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_THAO"]));
                            Int32 intSL_TONG_TD = (Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_THAO"]));
                            Int32 intSL_TONG_VC = (Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["SL_THAO"]));
                            Int32 intSL_TONG = (Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_THAO"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_THAO"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_THAO"]));
                            rptSH.SetParameterValue("SL_TONG_BT", intSL_TONG_BT.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG_BT.ToString("###,###,###"));
                            rptSH.SetParameterValue("SL_TONG_CD", intSL_TONG_CD.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG_CD.ToString("###,###,###"));
                            rptSH.SetParameterValue("SL_TONG_TD", intSL_TONG_TD.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG_TD.ToString("###,###,###"));
                            rptSH.SetParameterValue("SL_TONG_VC", intSL_TONG_VC.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG_VC.ToString("###,###,###"));
                            rptSH.SetParameterValue("SL_TONG", intSL_TONG.ToString("###,###,###") == string.Empty ? "0" : intSL_TONG.ToString("###,###,###"));

                            rptSH.SetParameterValue("THANH_TIEN_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"].ToString() == string.Empty ? "0" : dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]).ToString("###,###,###"));
                            rptSH.SetParameterValue("THANH_TIEN_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"].ToString() == string.Empty ? "0" : dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]).ToString("###,###,###"));
                            rptSH.SetParameterValue("THANH_TIEN_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"].ToString() == string.Empty ? "0" : dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]).ToString("###,###,###") == string.Empty ? "0" : Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]).ToString("###,###,###"));

                            decimal tienVC = Convert.ToDecimal(Convert.ToInt32((Convert.ToInt32(dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"].ToString() == string.Empty ? "0" : dtddo.Select("BCS = 'VC'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]) * 1.1)));
                            rptSH.SetParameterValue("TIEN_VC", tienVC.ToString("###,###,###,###"));
                            rptSH.SetParameterValue("bangchuVC", VNCurrency.ToString(tienVC));

                            decimal thanhtien = 0;
                            thanhtien = Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"].ToString() == string.Empty ? "0" : dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"].ToString() == string.Empty ? "0" : dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"].ToString() == string.Empty ? "0" : dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN_TRU_SLTHAO"]);
                            rptSH.SetParameterValue("THANH_TIEN", thanhtien.ToString("###,###,###,###"));
                            decimal tienthue = 0;
                            tienthue = thanhtien * Convert.ToDecimal(0.1);
                            rptSH.SetParameterValue("TIEN_THUE", Convert.ToInt32(tienthue).ToString("###,###,###,###"));
                            decimal tongtien = thanhtien + tienthue;
                            rptSH.SetParameterValue("TONG_TIEN", Convert.ToInt32(tongtien).ToString("###,###,###,###"));
                            rptSH.SetParameterValue("bangchu", VNCurrency.ToString(tongtien));

                            UtilReport.RptManager.showReportToWin(this, rptSH, strMa_dviqly, new string[] { "Formula1", "Formula2" }, new string[] { "Formula1", "Formula2" });


                            #endregion

                        }
                        */
                        #endregion

                    }
                    else
                    {
                        #region Truy thu theo bieu tong

                        rpt_NPC_TRTH_B16_DTU_BT rptSH = new rpt_NPC_TRTH_B16_DTU_BT();

                        rptSH.SetParameterValue("ID_TRTH", strIDBB);
                        rptSH.SetParameterValue("chuoigia", dtddo.Rows[0]["CHUOI_GIA"].ToString());
                        rptSH.SetParameterValue("DCHI_TTOAN", dtkhang.Rows[0]["DCHI_TTOAN"].ToString());
                        rptSH.SetParameterValue("dviqly_ctren", strTen_dviqly_CT.ToUpper());
                        rptSH.SetParameterValue("dviqly", strTen_dviqly);
                        rptSH.SetParameterValue("TEN_DDIEN1", dtkhang.Rows[0]["TEN_DDIEN1"].ToString());
                        rptSH.SetParameterValue("CVU_DDIEN1", dtkhang.Rows[0]["CVU_DDIEN1"].ToString());
                        rptSH.SetParameterValue("TEN_DDIEN2", dtkhang.Rows[0]["TEN_DDIEN2"].ToString());
                        rptSH.SetParameterValue("CVU_DDIEN2", dtkhang.Rows[0]["CVU_DDIEN2"].ToString());
                        rptSH.SetParameterValue("TEN_DDIEN3", dtkhang.Rows[0]["TEN_DDIEN3"].ToString());
                        rptSH.SetParameterValue("CVU_DDIEN3", dtkhang.Rows[0]["CVU_DDIEN3"].ToString());
                        rptSH.SetParameterValue("TEN_KHANG", dtkhang.Rows[0]["TEN_KHANG"].ToString().Trim());
                        rptSH.SetParameterValue("MA_KHANG", dtkhang.Rows[0]["MA_KHANG"].ToString());
                        rptSH.SetParameterValue("DIA_CHI", dtkhang.Rows[0]["DIA_CHI"].ToString());
                        rptSH.SetParameterValue("DDIEN_MUA", dtkhang.Rows[0]["DDIEN_MUA"].ToString());
                        rptSH.SetParameterValue("CVU_MUA", dtkhang.Rows[0]["CVU_MUA"].ToString());
                        if (dtkhang.Rows[0]["DDIEN_MUA2"].ToString() != string.Empty)
                        {
                            rptSH.SetParameterValue("DDIEN_MUA2", dtkhang.Rows[0]["DDIEN_MUA2"].ToString());
                        }
                        else
                        {
                            rptSH.SetParameterValue("DDIEN_MUA2", "");
                        }

                        if (dtkhang.Rows[0]["CVU_MUA2"].ToString() != string.Empty)
                        {
                            rptSH.SetParameterValue("CVU_MUA2", dtkhang.Rows[0]["CVU_MUA2"].ToString());
                        }
                        else
                        {
                            rptSH.SetParameterValue("CVU_MUA2", "");
                        }
                        rptSH.SetParameterValue("lydo", dtkhang.Rows[0]["NGUYEN_NHAN"].ToString());
                        rptSH.SetParameterValue("socto", dtddo.Rows[0]["SO_CTO"].ToString());
                        rptSH.SetParameterValue("loaicto", dtkhang.Rows[0]["LOAI_CTO"].ToString());
                        rptSH.SetParameterValue("giostop", dtddo.Rows[0]["GIOTRHU_DEN"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_DEN"].ToString() + "'");
                        rptSH.SetParameterValue("ngaystop", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_DEN"]).ToString("dd/MM/yyyy"));
                        rptSH.SetParameterValue("ngaykd", dtkhang.Rows[0]["NGAY_KDINH"].ToString() == string.Empty ? " . . ./ . . ./ . . . ." : Convert.ToDateTime(dtkhang.Rows[0]["NGAY_KDINH"]).ToString("dd/MM/yyyy"));
                        rptSH.SetParameterValue("cancu", "");

                        rptSH.SetParameterValue("sobbktra", dtkhang.Rows[0]["SO_BB_KTRA"].ToString() == string.Empty ? " . . ." : dtkhang.Rows[0]["SO_BB_KTRA"].ToString());
                        rptSH.SetParameterValue("ngayktra", dtkhang.Rows[0]["NGAY_KTRA"].ToString() == string.Empty ? " . . ./ . . ./ . . . ." : Convert.ToDateTime(dtkhang.Rows[0]["NGAY_KTRA"]).ToString("dd/MM/yyyy"));
                        rptSH.SetParameterValue("sobbkdinh", dtkhang.Rows[0]["SO_BB_KDINH"].ToString().Trim() == string.Empty ? " . . ." : dtkhang.Rows[0]["SO_BB_KDINH"].ToString());
                        rptSH.SetParameterValue("thangTTHD", dtkhang.Rows[0]["THANG_TT"].ToString() == string.Empty ? " . . ." : dtkhang.Rows[0]["THANG_TT"].ToString());
                        rptSH.SetParameterValue("namTTHD", dtkhang.Rows[0]["NAM_TT"].ToString() == string.Empty ? " . . ." : dtkhang.Rows[0]["NAM_TT"].ToString());
                        rptSH.SetParameterValue("ngay", DateTime.Now.Day.ToString());
                        rptSH.SetParameterValue("thang", DateTime.Now.Month.ToString());
                        rptSH.SetParameterValue("nam", DateTime.Now.Year.ToString());

                        rptSH.SetParameterValue("hsn", dtchiso.Rows[0]["HSN"].ToString());
                        rptSH.SetParameterValue("lichgcs", dsLichgcs.Tables[0].Rows[0]["NGAY_GHI"].ToString());
                        
                        //rptSH.SetParameterValue("giogannhat", dtddo.Rows[0]["GIOTRHU_TU"].ToString() + "h" + dtddo.Rows[0]["PHUTTRHU_TU"].ToString() + "'");
                        rptSH.SetParameterValue("ngaygannhat", Convert.ToDateTime(dtddo.Rows[0]["NGAYTRTH_TU"]).ToString("dd/MM/yyyy"));
                        
                        //rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                        DataTable dtky0 = dtchiso.Select("KY = 0").CopyToDataTable();                    
                        DataRow[] ArrSG = dtky0.Select("BCS = 'SG'");

                        DataRow[] ArrKy1 = dtchiso.Select("KY = 1");
                        DataRow[] ArrKy2 = dtchiso.Select("KY = 2");
                        DataRow[] ArrKy3 = dtchiso.Select("KY = 3");
                        DataRow[] ArrKy21 = dtchiso.Select("KY = 21");
                        DataRow[] ArrKy22 = dtchiso.Select("KY = 22");

                        rptSH.SetParameterValue("sggannhat", Convert.ToDecimal(ArrSG[0]["CHISO_CU"]).ToString("#########.##"));
                        rptSH.SetParameterValue("sgdd", Convert.ToDecimal(ArrSG[0]["CHISO_MOI"]).ToString("#########.##"));
                        rptSH.SetParameterValue("ngaydd", Convert.ToDateTime(ArrSG[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));

                        if (countKy >= 3)
                        {
                            //rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 3").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));

                            if (ArrKy3.Count() > 0)
                            {                           
                                rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 3").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            }
                            else
                                if (ArrKy2.Count() > 0)
                                {
                                    rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                }
                                else
                                    if (ArrKy1.Count() > 0)
                                    {
                                        rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                    }
                            rptSH.SetParameterValue("soky", "3");

                        }

                        if (countKy == 2)
                        {
                            //rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));

                            if (ArrKy2.Count() > 0)
                            {
                                rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 2").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            }
                            else
                                if (ArrKy21.Count() > 0)
                                {
                                    rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                                }
                            rptSH.SetParameterValue("soky", "2");
                        }

                        if (countKy == 1)
                        {
                            rptSH.SetParameterValue("ngayBcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_DKY"]).ToString("dd/MM/yyyy"));
                            rptSH.SetParameterValue("soky", "1");
                        }

                        //ngay ket thuc can cu ngayEcancu
                        if (ArrKy21.Count() > 0 && ArrKy2.Count() < 1) // có kỳ 21 và không có kỳ 2 -> trước sự cố chỉ có 1 kỳ làm căn cứ -> kỳ 21 là kỳ căn cứ thứ 2
                        {    
                            rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                        }

                        if (ArrKy21.Count() > 0 && ArrKy2.Count() > 0) // có kỳ 21 và có kỳ 2 -> trước sự cố có 2 kỳ làm căn cứ -> kỳ 21 là kỳ căn cứ thứ 3
                        {
                            rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 21").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                        }

                        if (ArrKy22.Count() > 0) // có kỳ 22 -> chắc chắn có 3 kỳ làm căn cứ -> kỳ 22 là kỳ căn cứ thứ 3
                        {
                            rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 22").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                        }

                        if (ArrKy21.Count() < 1 && ArrKy22.Count() < 1)
                        {                        
                            rptSH.SetParameterValue("ngayEcancu", Convert.ToDateTime(dtchiso.Select("KY = 1").CopyToDataTable().Rows[0]["NGAY_CKY"]).ToString("dd/MM/yyyy"));
                        }

                        rptSH.SetParameterValue("SL_THAO_SG", Convert.ToInt32(dtddo.Select("BCS = 'SG'").CopyToDataTable().Rows[0]["SL_THAO"]).ToString("###,###,###.##"));

                        rptSH.SetParameterValue("SL_CANCU_BT", Convert.ToDecimal(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("SL_CANCU_CD", Convert.ToDecimal(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##"));
                        rptSH.SetParameterValue("SL_CANCU_TD", Convert.ToDecimal(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]).ToString("###,###,###.##"));

                        double tong3cky = Convert.ToDouble(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]) + Convert.ToDouble(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]) + Convert.ToDouble(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_CANCU"]);
                        decimal tyleBT = Convert.ToDecimal((Convert.ToDouble(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_CANCU"]) / tong3cky * 100).ToString("##.##"));
                        decimal tyleCD = Convert.ToDecimal((Convert.ToDouble(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_CANCU"]) / tong3cky * 100).ToString("##.##"));
                        decimal tyleTD = 100 - tyleBT - tyleCD;

                        rptSH.SetParameterValue("tong3cky", tong3cky.ToString("###,###,###.##"));
                        rptSH.SetParameterValue("tyleBT",tyleBT.ToString("##.##"));
                        rptSH.SetParameterValue("tyleCD",tyleCD.ToString("##.##"));
                        rptSH.SetParameterValue("tyleTD",tyleTD.ToString("##.##"));

                        rptSH.SetParameterValue("SL_TRTHU_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TRTHU_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));
                        rptSH.SetParameterValue("SL_TRTHU_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["SL_TRTHU"]).ToString("###,###,###"));

                        rptSH.SetParameterValue("THANH_TIEN_BT", Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN"]).ToString("###,###,###,###.##"));
                        rptSH.SetParameterValue("THANH_TIEN_CD", Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN"]).ToString("###,###,###,###.##"));
                        rptSH.SetParameterValue("THANH_TIEN_TD", Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN"]).ToString("###,###,###,###.##"));

                        rptSH.SetParameterValue("chuoitinhtienBT", dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["CHUOI_TINHTIEN"].ToString() == string.Empty ? "" : dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["CHUOI_TINHTIEN"].ToString() + " =");
                        rptSH.SetParameterValue("chuoitinhtienCD", dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["CHUOI_TINHTIEN"].ToString() == string.Empty ? "" : dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["CHUOI_TINHTIEN"].ToString() + " =");
                        rptSH.SetParameterValue("chuoitinhtienTD", dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["CHUOI_TINHTIEN"].ToString() == string.Empty ? "" : dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["CHUOI_TINHTIEN"].ToString() + " =");

                        decimal thanhtien = 0;
                        thanhtien = Convert.ToInt32(dtddo.Select("BCS = 'BT'").CopyToDataTable().Rows[0]["THANH_TIEN"]) + Convert.ToInt32(dtddo.Select("BCS = 'CD'").CopyToDataTable().Rows[0]["THANH_TIEN"]) + Convert.ToInt32(dtddo.Select("BCS = 'TD'").CopyToDataTable().Rows[0]["THANH_TIEN"]);
                        rptSH.SetParameterValue("THANH_TIEN", thanhtien.ToString("###,###,###,###"));
                        decimal tienthue = 0;
                        tienthue =  thanhtien * Convert.ToDecimal(0.1);
                        rptSH.SetParameterValue("TIEN_THUE", Convert.ToInt32(tienthue).ToString("###,###,###,###"));
                        decimal tongtien = Convert.ToInt64(thanhtien) + Convert.ToInt64(tienthue);
                        rptSH.SetParameterValue("TONG_TIEN", Convert.ToInt32(tongtien).ToString("###,###,###,###"));
                        rptSH.SetParameterValue("bangchu", VNCurrency.ToString(tongtien));

                        UtilReport.RptManager.showReportToWin(this, rptSH, strMa_dviqly, new string[] { "Formula1", "Formula2" }, new string[] { "Formula1", "Formula2" });

                        #endregion
                    }


 
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void dgrDSach_Truythu_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {

        }

        private void rdbThongthuong_Checked(object sender, RoutedEventArgs e)
        {
            PhuongphapTT = 0;
        }

        private void rdbBieutong_Checked(object sender, RoutedEventArgs e)
        {
            try
            {
                PhuongphapTT = 1;
                ckbKhongdoc.IsChecked = false;
                ckbKhongdoc.IsEnabled = false;

                txtBTct.IsEnabled = false;
                txtCDct.IsEnabled = false;
                txtTDct.IsEnabled = false;
                txtVCct.IsEnabled = false;

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void rdbBieutong_Unchecked(object sender, RoutedEventArgs e)
        {
            try
            {
                //PhuongphapTT = 0;
                if (strBtnClick == "btnThemMoi" || strBtnClick == "SUA")
                {
                    ckbKhongdoc.IsEnabled = true;

                    txtSGct.IsEnabled = true;
                    txtBTct.IsEnabled = true;
                    txtCDct.IsEnabled = true;
                    txtTDct.IsEnabled = true;
                    txtVCct.IsEnabled = true;
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void radioButton1_Checked(object sender, RoutedEventArgs e)
        {

        }

        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {

        }

        private void rdbKDkodat_Checked(object sender, RoutedEventArgs e)
        {
            txblDocCS.Text = "Đọc ra từ C.tơ";
        }      


        private void btnLayDuLieu_I_Click(object sender, RoutedEventArgs e)
        {
            
            try
            {
                dsKH = new DataSet();
                dsBD = new DataSet();
                dsCancu = new DataSet();

                DataTable dtNGAY_CKY = new DataTable();
                DataTable dtBT = new DataTable();
                DataTable dtCD = new DataTable();
                DataTable dtTD = new DataTable();
                DataTable dtSG = new DataTable();
                DataTable dtVC = new DataTable();
                DataTable dtKy1 = new DataTable();
                DataTable dtKy2 = new DataTable();
                DataTable dtKy3 = new DataTable();
                DataTable dtTemp = new DataTable();
                

               

                if (txtMa_ddo_I.Text.Trim().ToString() != string.Empty)
                {
                    strMa_ddo = txtMa_ddo_I.Text.Trim().ToString();

                    strLoai_khang = GlobalServices.Service_Truythu.Get_loai_khang(strMa_dviqly, strMa_ddo);

                    if (strLoai_khang != "20")
                    {
                        MessageBox.Show("Điểm đo này không treo công tơ điện tử !");
                        txtMa_ddo_I.Focus();
                        return;
                    }

                    dsKH = GlobalServices.Service_Truythu.Get_thongtin_khach_hang(strMa_dviqly, strMa_ddo);
                    dsBD = GlobalServices.Service_Truythu.Get_thongtin_Ban_dien(strMa_dviqly);
                    //dsCancu = GlobalServices.Service_Truythu.Get_Sanluong_Cancu_Dtu(strMa_ddo,dtpNgaystop.SelectedDate.Value.Date, i16ThangHD, i16NamHD);


                    // Thông tin khách hàng
                    if (dsKH != null && dsKH.Tables[0].Rows.Count > 0)
                    {
                        txtTen_khang.Text = dsKH.Tables[0].Rows[0]["TEN_KHANG"].ToString();
                        txtDia_chi.Text = dsKH.Tables[0].Rows[0]["DIA_CHI"].ToString();
                        strMa_khang = dsKH.Tables[0].Rows[0]["MA_KHANG"].ToString();
                        strDCHI_TTOAN = dsKH.Tables[0].Rows[0]["DCHI_TTOAN"].ToString();
                    }
                    else
                    {
                        MessageBox.Show("Không lấy được thông tin khách hàng !");
                        txtMa_ddo_I.Focus();
                        return;
                    }

                    // Thông tin bên bán điện
                    if (dsBD != null && dsBD.Tables[0].Rows.Count > 0)
                    {
                        txtHoten1.Text = dsBD.Tables[0].Rows[0]["DAI_DIEN"].ToString();
                        txtChucvu1.Text = dsBD.Tables[0].Rows[0]["CHUC_VU"].ToString();
                    }
                    else
                    {
                        MessageBox.Show("Không lấy được thông tin đại diện bên bán điện !");
                    }
                    Enable_Items(true);

                    #region //Thông tin sản lượng các kỳ liền kề
                    /*
                    if (dsCancu != null && dsCancu.Tables[0].Rows.Count > 0)
                    {
                        DataRow[] ArrNgaycuoiKy = dsCancu.Tables["KYTHANGNAM"].Select("1=1");

                        DataRow[] ArrBT ;
                        DataRow[] ArrCD ;
                        DataRow[] ArrTD ;
                        DataRow[] ArrSG ;
                        DataRow[] ArrVC ;

                        if (ArrNgaycuoiKy.Count() >0)
                        {
                            countKy = ArrNgaycuoiKy.Count();
                            dtNGAY_CKY = ArrNgaycuoiKy.CopyToDataTable();
                        }
                        else
                        {
                            return;
                        }

                        if (countKy >= 3)
                        {
                            // Ky1
                            DataRow[] ArrKy1 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKy - 1]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKy - 1]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKy - 1]["NAM"].ToString() + "'");
                            if (ArrKy1.Count() > 0)
                            {
                                dtKy1 = ArrKy1.CopyToDataTable();

                                ArrSG = dtKy1.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrBT = dtKy1.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrCD = dtKy1.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrTD = dtKy1.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrVC = dtKy1.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                txtGiobd1.Text = "0";
                                txtPhutbd1.Text = "0";
                                dtpTungay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_DKY"]);
                                txtGiokt1.Text = "23";
                                txtPhutkt1.Text = "59";
                                dtpDenngay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_CKY"]);
                            }


                            //Ky2
                            DataRow[] ArrKy2 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKy - 2]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKy - 2]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKy - 2]["NAM"].ToString() + "'");
                            if (ArrKy2.Count() > 0)
                            {
                                dtKy2 = ArrKy2.CopyToDataTable();

                                ArrSG = dtKy2.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrBT = dtKy2.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrCD = dtKy2.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrTD = dtKy2.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrVC = dtKy2.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                txtGiobd2.Text = "0";
                                txtPhutbd2.Text = "0";
                                dtpTungay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_DKY"]);
                                txtGiokt2.Text = "23";
                                txtPhutkt2.Text = "59";
                                dtpDenngay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_CKY"]);
                            }

                            //Ky3
                            DataRow[] ArrKy3 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKy - 3]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKy - 3]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKy - 3]["NAM"].ToString() + "'");
                            if (ArrKy3.Count() > 0)
                            {
                                dtKy3 = ArrKy3.CopyToDataTable();

                                ArrSG = dtKy3.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrBT = dtKy3.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrCD = dtKy3.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrTD = dtKy3.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrVC = dtKy3.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                txtGiobd3.Text = "0";
                                txtPhutbd3.Text = "0";
                                dtpTungay3.SelectedDate = Convert.ToDateTime(dtKy3.Rows[0]["NGAY_DKY"]);
                                txtGiokt3.Text = "23";
                                txtPhutkt3.Text = "59";
                                dtpDenngay3.SelectedDate = Convert.ToDateTime(dtKy3.Rows[0]["NGAY_CKY"]);
                            }
                           

                        }
                        else
                            if (countKy == 2)
                            {
                                // Ky1
                                DataRow[] ArrKy1 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKy - 1]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKy - 1]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKy - 1]["NAM"].ToString() + "'");
                                if (ArrKy1.Count() > 0)
                                {
                                    dtKy1 = ArrKy1.CopyToDataTable();

                                    ArrSG = dtKy1.Select("BCS = 'SG'");
                                    if (ArrSG.Count() > 0)
                                    {
                                        dtTemp = ArrSG.CopyToDataTable();
                                        txtSG1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrBT = dtKy1.Select("BCS = 'BT'");
                                    if (ArrBT.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrBT.CopyToDataTable();
                                        txtBT1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrCD = dtKy1.Select("BCS = 'CD'");
                                    if (ArrCD.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrCD.CopyToDataTable();
                                        txtCD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrTD = dtKy1.Select("BCS = 'TD'");
                                    if (ArrTD.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrTD.CopyToDataTable();
                                        txtTD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrVC = dtKy1.Select("BCS = 'VC'");
                                    if (ArrVC.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrVC.CopyToDataTable();
                                        txtVC1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    txtGiobd1.Text = "0";
                                    txtPhutbd1.Text = "0";
                                    dtpTungay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_DKY"]);
                                    txtGiokt1.Text = "23";
                                    txtPhutkt1.Text = "59";
                                    dtpDenngay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_CKY"]);
                                }


                                //Ky2
                                DataRow[] ArrKy2 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKy - 2]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKy - 2]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKy - 2]["NAM"].ToString() + "'");
                                if (ArrKy2.Count() > 0)
                                {
                                    dtKy2 = ArrKy2.CopyToDataTable();

                                    ArrSG = dtKy2.Select("BCS = 'SG'");
                                    if (ArrSG.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrSG.CopyToDataTable();
                                        txtSG2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrBT = dtKy2.Select("BCS = 'BT'");
                                    if (ArrBT.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrBT.CopyToDataTable();
                                        txtBT2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrCD = dtKy2.Select("BCS = 'CD'");
                                    if (ArrCD.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrCD.CopyToDataTable();
                                        txtCD2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrTD = dtKy2.Select("BCS = 'TD'");
                                    if (ArrTD.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrTD.CopyToDataTable();
                                        txtTD2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrVC = dtKy2.Select("BCS = 'VC'");
                                    if (ArrVC.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrVC.CopyToDataTable();
                                        txtVC2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    txtGiobd2.Text = "0";
                                    txtPhutbd2.Text = "0";
                                    dtpTungay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_DKY"]);
                                    txtGiokt2.Text = "23";
                                    txtPhutkt2.Text = "59";
                                    dtpDenngay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_CKY"]);
                                }
                            }
                            else
                                if (countKy == 1)
                                {
                                    // Ky1
                                    DataRow[] ArrKy1 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKy - 1]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKy - 1]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKy - 1]["NAM"].ToString() + "'");
                                    if (ArrKy1.Count() > 0)
                                    {
                                        dtKy1 = ArrKy1.CopyToDataTable();

                                        ArrSG = dtKy1.Select("BCS = 'SG'");
                                        if (ArrSG.Count() > 0)
                                        {
                                            dtTemp = ArrSG.CopyToDataTable();
                                            txtSG1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                        }

                                        ArrBT = dtKy1.Select("BCS = 'BT'");
                                        if (ArrBT.Count() > 0)
                                        {
                                            dtTemp.Clear();
                                            dtTemp = ArrBT.CopyToDataTable();
                                            txtBT1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                        }

                                        ArrCD = dtKy1.Select("BCS = 'CD'");
                                        if (ArrCD.Count() > 0)
                                        {
                                            dtTemp.Clear();
                                            dtTemp = ArrCD.CopyToDataTable();
                                            txtCD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                        }

                                        ArrTD = dtKy1.Select("BCS = 'TD'");
                                        if (ArrTD.Count() > 0)
                                        {
                                            dtTemp.Clear();
                                            dtTemp = ArrTD.CopyToDataTable();
                                            txtTD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                        }

                                        ArrVC = dtKy1.Select("BCS = 'VC'");
                                        if (ArrVC.Count() > 0)
                                        {
                                            dtTemp.Clear();
                                            dtTemp = ArrVC.CopyToDataTable();
                                            txtVC1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                        }

                                        txtGiobd1.Text = "0";
                                        txtPhutbd1.Text = "0";
                                        dtpTungay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_DKY"]);
                                        txtGiokt1.Text = "23";
                                        txtPhutkt1.Text = "59";
                                        dtpDenngay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_CKY"]);
                                    }
                                }

                        //Lấy chỉ số kỳ gần nhất
                        if (dsCancu.Tables["CHI_SO"].Rows.Count > 0)
                        {
                            dtTemp.Clear();

                            ArrSG = dsCancu.Tables["CHI_SO"].Select("BCS = 'SG'");
                            if (ArrSG.Count() > 0)
                            {
                                dtTemp = ArrSG.CopyToDataTable();
                                ChisogannhatSG = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"].ToString());
                            }

                            ArrBT = dsCancu.Tables["CHI_SO"].Select("BCS = 'BT'");
                            if (ArrBT.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrBT.CopyToDataTable();
                                ChisogannhatBT = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"].ToString());
                            }

                            ArrCD = dsCancu.Tables["CHI_SO"].Select("BCS = 'CD'");
                            if (ArrCD.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrCD.CopyToDataTable();
                                ChisogannhatCD = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"].ToString());
                            }

                            ArrTD = dsCancu.Tables["CHI_SO"].Select("BCS = 'TD'");
                            if (ArrTD.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrTD.CopyToDataTable();
                                ChisogannhatTD = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"].ToString());
                            }

                            ArrVC = dsCancu.Tables["CHI_SO"].Select("BCS = 'VC'");
                            if (ArrVC.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrVC.CopyToDataTable();
                                ChisogannhatVC = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"].ToString());
                            }

                            dtNgayDKY_gannhat = Convert.ToDateTime(dsCancu.Tables["CHI_SO"].Rows[0]["NGAY_DKY"]);
                            dtNgayCKY_gannhat = Convert.ToDateTime(dsCancu.Tables["CHI_SO"].Rows[0]["NGAY_CKY"]);
                            dtNgayghigannhat = Convert.ToDateTime(dsCancu.Tables["CHI_SO"].Rows[0]["NGAY_CKY"]);
                            strSo_cto = dsCancu.Tables["CHI_SO"].Rows[0]["SO_CTO"].ToString();
                            strMa_cto = dsCancu.Tables["CHI_SO"].Rows[0]["MA_CTO"].ToString();
                            hsn = Convert.ToInt32(dsCancu.Tables["CHI_SO"].Rows[0]["HS_NHAN"]);
                            txtSo_Cto.Text = strSo_cto;
                            txtHSN.Text = dsCancu.Tables["CHI_SO"].Rows[0]["HS_NHAN"].ToString();
                        }
                        
                        


                        txtChuoigia.Text = GlobalServices.Service_Truythu.get_chuoigia(strMa_dviqly, strMa_ddo);
                        
                        Enable_Items(true);
                        btnLayDuLieu_I.IsEnabled = false;
                        btnGhi.IsEnabled = true;
                        txtMa_ddo_I.IsReadOnly = true;                     
                        

                    }
                    else
                    {
                        MessageBox.Show("Không có dữ liệu Sản lượng các kỳ liền kề làm căn cứ !");
                        return;
                    }
                    */
                    #endregion
                    


                }
                else
                {
                    MessageBox.Show("Hãy nhập mã điểm đo !");
                    txtMa_ddo_I.Focus();
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            
        }

        private void btnXoa_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                this.Cursor = null;

                bool bolCheckDelete = false;
                strBtnClick = "XOA";
                if (MessageBox.Show("Bạn có chắc chắn xoá bản ghi có mã " + txtMa_TT.Text.Trim() + "-" + txtMa_ddo_I.Text.Trim() + " không?", "Thông báo", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    setEntity_CHISO("btnXoa");
                    setEntity_DDO("btnXoa");
                    setEntity_KH("btnXoa");
                    intDongFocus = dgrDSach_Truythu.SelectedIndex;

                    bolCheckDelete = GlobalServices.Service_Truythu.delete_NPC_TRTH_CHISO_by_IDTRTH(strMa_dviqly, Convert.ToInt64(txtMa_TT.Text.Trim()), ref strError);

                    if (bolCheckDelete == true)
                    {
                        bolCheckDelete = GlobalServices.Service_Truythu.delete_NPC_TRTH_DDO_by_IDTRTH(strMa_dviqly, Convert.ToInt64(txtMa_TT.Text.Trim()), ref strError);

                        if (bolCheckDelete == true)
                        {
                            bolCheckDelete = GlobalServices.Service_Truythu.delete_NPC_TRTH_KHANG_by_IDTRTH(strMa_dviqly, Convert.ToInt64(txtMa_TT.Text.Trim()), ref strError);
                        }
                        else
                        {
                            this.Cursor = null;
                            MessageBox.Show("Không xóa được dữ liệu điểm đo !");
                            return;
                        }

                        if (bolCheckDelete == true)
                        {
                            this.Cursor = null;
                            DataRowView drv = dgrDSach_Truythu.SelectedItem as DataRowView;
                            if (drv != null)
                            {
                                drv.Delete();
                                //dtHienthi.AcceptChanges();
                                MessageBox.Show("Xoá dữ liệu thành công!", "Thông báo", MessageBoxButton.OK);

                            }
                            Items_text("");
                        }
                        else
                        {
                            this.Cursor = null;
                            if (strError.Contains("ORA-02292") == true)
                            {
                                MessageBox.Show("Mã truy thu " + txtMa_TT.Text + " đang được sử dụng. Không thể xoá bản ghi này.", "Thông báo", MessageBoxButton.OK);
                            }
                        }

                    }
                    else
                    {
                        this.Cursor = null;
                        MessageBox.Show("Không xóa được dữ liệu chỉ số !");
                        return;
                    }
                }
                CheckIsEnableButtonSuaXoa();
                strBtnClick = "";
                if (dgrDSach_Truythu.Items.Count > intDongFocus)
                {
                    dgrDSach_Truythu.SelectedIndex = intDongFocus;
                }
                else dgrDSach_Truythu.SelectedIndex = intDongFocus - 1;
                btnXoa.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void btnLayDuLieu_S_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                this.Cursor = Cursors.Wait;

                setEntity_KH("btnTimKiem");
                if (dsNPC_TRTH_KHANG_Entity.Tables["NPC_TRTH_KHANG"].Rows.Count > 0)
                {
                    DataSet dsTemp;
                    dsTemp = GlobalServices.Service_Truythu.select_NPC_TRTH_KHANG_by_1_Col_dtu(dsNPC_TRTH_KHANG_Entity);

                    if (dsTemp != null)
                    {
                        strFind = "Yes";
                        DataTable dtHienthi = dsTemp.Tables[0].Copy();

                        if (dtHienthi.Rows.Count > 0)
                        {
                            dgrDSach_Truythu.ItemsSource = dtHienthi.DefaultView;
                                                  

                            if (strBtnClick != "btnThemMoi" || strBtnClick != "SUA")
                            {
                                dgrDSach_Truythu.SelectedIndex = 0;
                            }


                            CheckIsEnableButtonSuaXoa();
                            this.Cursor = null;
                        }
                    }
                    else
                    {
                        this.Cursor = null;
                        MessageBox.Show("Không tìm thấy theo điều kiện !");
                        strFind = "No";
                        txtMa_TT_S.Focus();
                        e.Handled = true;
                    }

                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void btnChon_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                setCurrentData();
                CheckIsEnableButtonSuaXoa();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void setCurrentData()
        {
            DataRowView drv = dgrDSach_Truythu.SelectedItem as DataRowView;
            strDCHI_TTOAN = "";
            Items_text(string.Empty);

            if (drv != null)
            {
                if (strBtnClick == "btnThemMoi" || strBtnClick == "SUA")
                {
                }
                else
                {
                    intID_TRTH = Convert.ToInt64(drv.Row["ID_TRTH"].ToString());

                    DataSet dsKHANG = GlobalServices.Service_Truythu.select_NPC_TRTH_KHANG_by_id_truythu(strMa_dviqly, intID_TRTH);

                    DataSet dsCHI_SO = GlobalServices.Service_Truythu.select_NPC_TRTH_CHISO_by_id_truythu(strMa_dviqly, intID_TRTH);

                    DataSet dsDDO = GlobalServices.Service_Truythu.select_NPC_TRTH_DDO_by_id_truythu(strMa_dviqly, intID_TRTH);

                    #region KHACH_HANG
                    if (dsKHANG != null && dsKHANG.Tables[0].Rows.Count > 0)
                    {
                        txtTen_khang.Text = dsKHANG.Tables[0].Rows[0]["TEN_KHANG"].ToString();
                        txtDia_chi.Text = dsKHANG.Tables[0].Rows[0]["DIA_CHI"].ToString();
                        txtDai_dien_mua1.Text = dsKHANG.Tables[0].Rows[0]["DDIEN_MUA"].ToString();
                        txtChucvu_mua1.Text = dsKHANG.Tables[0].Rows[0]["CVU_MUA"].ToString();
                        if (dsKHANG.Tables[0].Rows[0]["DDIEN_MUA2"].ToString() != string.Empty)
                        {
                            txtDai_dien_mua2.Text = dsKHANG.Tables[0].Rows[0]["DDIEN_MUA2"].ToString();
                        }

                        if (dsKHANG.Tables[0].Rows[0]["CVU_MUA2"].ToString() != string.Empty)
                        {
                            txtChucvu_mua2.Text = dsKHANG.Tables[0].Rows[0]["CVU_MUA2"].ToString();
                        }                        

                        txtMa_TT.Text = dsKHANG.Tables[0].Rows[0]["ID_TRTH"].ToString();

                        txtHoten1.Text = dsKHANG.Tables[0].Rows[0]["TEN_DDIEN1"].ToString();
                        txtChucvu1.Text = dsKHANG.Tables[0].Rows[0]["CVU_DDIEN1"].ToString();


                        if (dsKHANG.Tables[0].Rows[0]["TEN_DDIEN2"].ToString() != string.Empty)
                        {
                            txtHoten2.Text = dsKHANG.Tables[0].Rows[0]["TEN_DDIEN2"].ToString();
                        }

                        if (dsKHANG.Tables[0].Rows[0]["CVU_DDIEN2"].ToString() != string.Empty)
                        {
                            txtChucvu2.Text = dsKHANG.Tables[0].Rows[0]["CVU_DDIEN2"].ToString();
                        }

                        if (dsKHANG.Tables[0].Rows[0]["TEN_DDIEN3"].ToString() != string.Empty)
                        {
                            txtHoten3.Text = dsKHANG.Tables[0].Rows[0]["TEN_DDIEN3"].ToString();
                        }

                        if (dsKHANG.Tables[0].Rows[0]["CVU_DDIEN3"].ToString() != string.Empty)
                        {
                            txtChucvu3.Text = dsKHANG.Tables[0].Rows[0]["CVU_DDIEN3"].ToString();
                        }

                        txtNguyennhan.Text = dsKHANG.Tables[0].Rows[0]["NGUYEN_NHAN"].ToString();

                        strMa_khang = dsKHANG.Tables[0].Rows[0]["MA_KHANG"].ToString();

                        strDCHI_TTOAN = dsKHANG.Tables[0].Rows[0]["DCHI_TTOAN"].ToString();

                        txtLoai_cto.Text = dsKHANG.Tables[0].Rows[0]["LOAI_CTO"].ToString();

                        if (dsKHANG.Tables[0].Rows[0]["NGAY_KDINH"].ToString() != string.Empty)
                        {
                            dtpNgayKdinh.SelectedDate = Convert.ToDateTime(dsKHANG.Tables[0].Rows[0]["NGAY_KDINH"]);
                        }
                        else
                        {
                            dtpNgayKdinh.Text = "";
                        }

                        if (dsKHANG.Tables[0].Rows[0]["SO_BB_KDINH"].ToString() != string.Empty)
                        {
                            txtSobbkd.Text = dsKHANG.Tables[0].Rows[0]["SO_BB_KDINH"].ToString();
                        }
                        else
                        {
                            txtSobbkd.Text = "";
                        }

                        if (dsKHANG.Tables[0].Rows[0]["SO_BB_KTRA"].ToString() != string.Empty)
                        {
                            txtSobbktra.Text = dsKHANG.Tables[0].Rows[0]["SO_BB_KTRA"].ToString();
                        }
                        else
                        {
                            txtSobbktra.Text = "";
                        }

                        if (dsKHANG.Tables[0].Rows[0]["NGAY_KTRA"].ToString() != string.Empty)
                        {
                            dtpKiemtra.SelectedDate = Convert.ToDateTime(dsKHANG.Tables[0].Rows[0]["NGAY_KTRA"]);
                        }
                        else
                        {
                            dtpKiemtra.Text = "";
                        }

                        Int32 t = 0;
                        if (Int32.TryParse(dsKHANG.Tables[0].Rows[0]["THANG_TT"].ToString(), out t) && Int32.TryParse(dsKHANG.Tables[0].Rows[0]["NAM_TT"].ToString(), out t))
                        {
                            dtpThangNamTT.SelectedDate = Convert.ToDateTime(dsKHANG.Tables[0].Rows[0]["THANG_TT"].ToString() + "/" + "01" + "/" + dsKHANG.Tables[0].Rows[0]["NAM_TT"].ToString());
                        }
                        else
                        {
                            dtpThangNamTT.Text = "";
                        }

                        if (dsKHANG.Tables[0].Rows[0]["SO_BB_TTHUAN"].ToString() != string.Empty)
                        {
                            txtSobbTThuan.Text = dsKHANG.Tables[0].Rows[0]["SO_BB_TTHUAN"].ToString();
                        }
                        else
                        {
                            txtSobbTThuan.Text = "";
                        }

                        if (dsKHANG.Tables[0].Rows[0]["NGAY_TTHUAN"].ToString() != string.Empty)
                        {
                            dtpNgaythoathuan.SelectedDate = Convert.ToDateTime(dsKHANG.Tables[0].Rows[0]["NGAY_TTHUAN"]);
                        }
                        else
                        {
                            dtpNgaythoathuan.Text = "";
                        }

                        if (dsKHANG.Tables[0].Rows[0]["CAN_CU"].ToString() != string.Empty)
                        {
                            txtSaiso.Text = dsKHANG.Tables[0].Rows[0]["CAN_CU"].ToString();
                        }

                        strNguoiTao = dsKHANG.Tables[0].Rows[0]["NGUOI_TAO"].ToString();
                        dtimeNgaytao = Convert.ToDateTime(dsKHANG.Tables[0].Rows[0]["NGAY_TAO"]);

                        // Loai su co
                        if (dsKHANG.Tables[0].Rows[0]["LOAI_SUCO"].ToString() != string.Empty)
                        {
                            if (dsKHANG.Tables[0].Rows[0]["LOAI_SUCO"].ToString() == "0")
                            {
                                cboLOAI_SUCO.SelectedIndex = 0;
                            }
                            else
                                if (dsKHANG.Tables[0].Rows[0]["LOAI_SUCO"].ToString() == "1")
                                {
                                    cboLOAI_SUCO.SelectedIndex = 1;
                                }
                                else
                                    if (dsKHANG.Tables[0].Rows[0]["LOAI_SUCO"].ToString() == "2")
                                    {
                                        cboLOAI_SUCO.SelectedIndex = 2;
                                    }
                                    else
                                        if (dsKHANG.Tables[0].Rows[0]["LOAI_SUCO"].ToString() == "3")
                                        {
                                            cboLOAI_SUCO.SelectedIndex = 3;
                                        }
                                        else
                                        {
                                            cboLOAI_SUCO.SelectedIndex = 0;
                                        }

                        }
                        else
                        {
                            cboLOAI_SUCO.SelectedIndex = 0;
                        }
                    }
                    #endregion


                    #region Lay LOAI_TRUYTHU
                    if (dsDDO != null && dsDDO.Tables[0].Rows.Count > 0)
                    {
                        strMa_ldo = dsDDO.Tables[0].Rows[0]["MA_LDO"].ToString();

                        if (strMa_ldo == "DTH")
                        {
                            rdbThoaihoan.IsChecked = true;
                            rdbKD.IsChecked = true;
                        }
                        else
                            if (strMa_ldo.Substring(1, 1) == "3")
                            {
                                rdbTutinh.IsChecked = true;
                                rdbKD.IsChecked = true;
                            }
                            else
                            {
                                if (strMa_ldo.Substring(1, 1) == "1")
                                {
                                    rdbThongthuong.IsChecked = true;

                                    if (strMa_ldo.Substring(2, 1) == "0")
                                    {
                                        ckbKhongdoc.IsChecked = true;
                                    }
                                    else
                                    {
                                        ckbKhongdoc.IsChecked = false;

                                        if (strMa_ldo.Substring(2, 1) == "1")
                                        {
                                            rdbKD.IsChecked = true;
                                        }
                                        else
                                        {
                                            rdbKT.IsChecked = true;
                                        }
                                    }
                                }
                                else
                                {
                                    rdbBieutong.IsChecked = true;

                                    if (strMa_ldo.Substring(2, 1) == "0")
                                    {
                                        ckbKhongdoc.IsChecked = true;
                                    }
                                    else
                                    {
                                        ckbKhongdoc.IsChecked = false;

                                        if (strMa_ldo.Substring(2, 1) == "1")
                                        {
                                            rdbKD.IsChecked = true;
                                        }
                                        else
                                        {
                                            rdbKT.IsChecked = true;
                                        }
                                    }
                                }
                            }
                    }

                    #endregion

                    if (rdbTutinh.IsChecked == false && rdbThoaihoan.IsChecked == false)// thong thuong
                    {
                        #region CHI_SO
                        if (dsCHI_SO != null && dsCHI_SO.Tables[0].Rows.Count > 0)
                        {
                            #region // Thông tin  chỉ số gần nhất, chỉ số công tơ tháo .... từ KY=0
                            DataRow[] dr = dsCHI_SO.Tables[0].Select("KY = 0", "ID_CHISO ASC");
                            if (dr.Count() > 0)
                            {
                                DataRow[] drBT = dsCHI_SO.Tables[0].Select("BCS = 'BT' AND KY = 0");
                                if (drBT.Count() > 0)
                                {
                                    txtBTct.Text = drBT[0]["CHISO_MOI"].ToString();
                                    Id_chisoBTKy0 = Convert.ToInt64(drBT[0]["ID_CHISO"]);
                                    //ChisogannhatBT = Convert.ToDouble(drBT[0]["CHISO_CU"]);
                                    txtBTgn.Text = Convert.ToDouble(drBT[0]["CHISO_CU"]).ToString();

                                    txtGioktct.Text = drBT[0]["GIO_CKY"].ToString();
                                    txtPhutktct.Text = drBT[0]["PHUT_CKY"].ToString();

                                    if (drBT[0]["NGAY_CKY"].ToString() == string.Empty)
                                    {
                                        dtpDenngayct.Text = "";
                                        ckbKoDoctg.IsChecked = true;
                                    }
                                    else
                                    {
                                        if (Convert.ToDateTime(drBT[0]["NGAY_CKY"]) == Convert.ToDateTime("01/01/1000"))
                                        {
                                            dtpDenngayct.Text = "";
                                            ckbKoDoctg.IsChecked = true;
                                        }
                                        else
                                        {
                                            dtpDenngayct.SelectedDate = Convert.ToDateTime(drBT[0]["NGAY_CKY"]);
                                            ckbKoDoctg.IsChecked = false;
                                        }
                                    }

                                    txtGioghign.Text = drBT[0]["GIO_DKY"].ToString();
                                    txtPhutghign.Text = drBT[0]["PHUT_DKY"].ToString();
                                    dtpNgayghign.SelectedDate = Convert.ToDateTime(drBT[0]["NGAY_DKY"]);
                                    //dtNgayCKY_gannhat = Convert.ToDateTime(drBT[0]["NGAY_DKY"]);
                                    dtNgayghigannhat = Convert.ToDateTime(drBT[0]["NGAY_DKY"]);
                                }

                                DataRow[] drCD = dsCHI_SO.Tables[0].Select("BCS = 'CD' AND KY = 0");
                                if (drCD.Count() > 0)
                                {
                                    txtCDct.Text = drCD[0]["CHISO_MOI"].ToString();
                                    Id_chisoCDKy0 = Convert.ToInt64(drCD[0]["ID_CHISO"]);
                                    //ChisogannhatCD = Convert.ToDouble(drCD[0]["CHISO_CU"]);
                                    txtCDgn.Text = Convert.ToDouble(drCD[0]["CHISO_CU"]).ToString();
                                }

                                DataRow[] drTD = dsCHI_SO.Tables[0].Select("BCS = 'TD' AND KY = 0");
                                if (drTD.Count() > 0)
                                {
                                    txtTDct.Text = drTD[0]["CHISO_MOI"].ToString();
                                    Id_chisoTDKy0 = Convert.ToInt64(drTD[0]["ID_CHISO"]);
                                    //ChisogannhatTD = Convert.ToDouble(drTD[0]["CHISO_CU"]);
                                    txtTDgn.Text = Convert.ToDouble(drTD[0]["CHISO_CU"]).ToString();
                                }

                                DataRow[] drSG = dsCHI_SO.Tables[0].Select("BCS = 'SG' AND KY = 0");
                                if (drSG.Count() > 0)
                                {
                                    txtSGct.Text = drSG[0]["CHISO_MOI"].ToString();
                                    Id_chisoSGKy0 = Convert.ToInt64(drSG[0]["ID_CHISO"]);
                                    //ChisogannhatSG = Convert.ToDouble(drSG[0]["CHISO_CU"]);
                                    txtSGgn.Text = Convert.ToDouble(drSG[0]["CHISO_CU"]).ToString();
                                }

                                DataRow[] drVC = dsCHI_SO.Tables[0].Select("BCS = 'VC' AND KY = 0");
                                if (drVC.Count() > 0)
                                {
                                    txtVCct.Text = drVC[0]["CHISO_MOI"].ToString();
                                    Id_chisoVCKy0 = Convert.ToInt64(drVC[0]["ID_CHISO"]);
                                    //ChisogannhatVC = Convert.ToDouble(drVC[0]["CHISO_CU"]);
                                    txtVCgn.Text = Convert.ToDouble(drVC[0]["CHISO_CU"]).ToString();
                                }
                            }
                            else
                            {
                                ckbKhongdoc.IsChecked = true;
                            }

                            #endregion

                            #region // Thông tin  chỉ số kỳ gần nhất không tròn kỳ .... từ KY=10
                            DataRow[] drKy10 = dsCHI_SO.Tables[0].Select("KY = 10", "ID_CHISO ASC");
                            if (drKy10.Count() > 0)
                            {
                                DataRow[] drBT = dsCHI_SO.Tables[0].Select("BCS = 'BT' AND KY = 10");
                                if (drBT.Count() > 0)
                                {
                                    Id_chisoBTKy10 = Convert.ToInt64(drBT[0]["ID_CHISO"]);
                                    sanluongBTKy10 = Convert.ToDouble(drBT[0]["SAN_LUONG"]);
                                    dtNgayDKY10 = Convert.ToDateTime(drBT[0]["NGAY_DKY"]);
                                    dtNgayCKY10 = Convert.ToDateTime(drBT[0]["NGAY_CKY"]);
                                    strLoaiCSKy10 = drBT[0]["LOAI_CHISO"].ToString();
                                }

                                DataRow[] drCD = dsCHI_SO.Tables[0].Select("BCS = 'CD' AND KY = 10");
                                if (drCD.Count() > 0)
                                {
                                    Id_chisoCDKy10 = Convert.ToInt64(drCD[0]["ID_CHISO"]);
                                    sanluongCDKy10 = Convert.ToDouble(drCD[0]["SAN_LUONG"]);
                                }

                                DataRow[] drTD = dsCHI_SO.Tables[0].Select("BCS = 'TD' AND KY = 10");
                                if (drTD.Count() > 0)
                                {
                                    Id_chisoTDKy10 = Convert.ToInt64(drTD[0]["ID_CHISO"]);
                                    sanluongTDKy10 = Convert.ToDouble(drTD[0]["SAN_LUONG"]);
                                }

                                DataRow[] drSG = dsCHI_SO.Tables[0].Select("BCS = 'SG' AND KY = 10");
                                if (drSG.Count() > 0)
                                {
                                    Id_chisoSGKy10 = Convert.ToInt64(drSG[0]["ID_CHISO"]);
                                    sanluongSGKy10 = Convert.ToDouble(drSG[0]["SAN_LUONG"]);
                                }

                                DataRow[] drVC = dsCHI_SO.Tables[0].Select("BCS = 'VC' AND KY = 10");
                                if (drVC.Count() > 0)
                                {
                                    Id_chisoVCKy10 = Convert.ToInt64(drVC[0]["ID_CHISO"]);
                                    sanluongVCKy10 = Convert.ToDouble(drVC[0]["SAN_LUONG"]);
                                }
                            }
                            else
                            {
                                sanluongBTKy10 = -1;
                                sanluongCDKy10 = -1;
                                sanluongTDKy10 = -1;
                                sanluongSGKy10 = -1;
                                sanluongVCKy10 = -1;

                                Id_chisoBTKy10 = -1;
                                Id_chisoCDKy10 = -1;
                                Id_chisoTDKy10 = -1;
                                Id_chisoSGKy10 = -1;
                                Id_chisoVCKy10 = -1;

                                dtNgayDKY10 = DateTime.MinValue;
                                dtNgayCKY10 = DateTime.MinValue;

                                strLoaiCSKy10 = "";
                            }

                            #endregion

                            #region // Thông tin chỉ số kỳ căn cứ
                            DataRow[] ArrNgaycuoiKy = dsCHI_SO.Tables["KYTHANGNAM"].Select("1=1");

                            if (ArrNgaycuoiKy.Count() > 0)
                            {
                                countKy = ArrNgaycuoiKy.Count();
                            }
                            else
                            {
                                return;
                            }

                            DataTable dtBT = new DataTable();
                            DataTable dtCD = new DataTable();
                            DataTable dtTD = new DataTable();
                            DataTable dtSG = new DataTable();
                            DataTable dtVC = new DataTable();
                            DataTable dtKy1 = new DataTable();
                            DataTable dtKy2 = new DataTable();
                            DataTable dtKy3 = new DataTable();
                            DataTable dtKy21 = new DataTable();
                            DataTable dtKy22 = new DataTable();
                            DataTable dtTemp = new DataTable();

                            DataRow[] ArrKy1 = dsCHI_SO.Tables[0].Select("KY = 1");
                            DataRow[] ArrKy2 = dsCHI_SO.Tables[0].Select("KY = 2");
                            DataRow[] ArrKy3 = dsCHI_SO.Tables[0].Select("KY = 3");
                            DataRow[] ArrKy21 = dsCHI_SO.Tables[0].Select("KY = 21");
                            DataRow[] ArrKy22 = dsCHI_SO.Tables[0].Select("KY = 22");

                            if (ArrKy1.Count() > 0)
                            {
                                dtKy1 = ArrKy1.CopyToDataTable();

                                DataRow[] ArrSG = dtKy1.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG1.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoSGKy1 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrBT = dtKy1.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT1.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoBTKy1 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrCD = dtKy1.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD1.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoCDKy1 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrTD = dtKy1.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD1.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoTDKy1 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrVC = dtKy1.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC1.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoVCKy1 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                txtGiobd1.Text = dtKy1.Rows[0]["GIO_DKY"].ToString();
                                txtPhutbd1.Text = dtKy1.Rows[0]["PHUT_DKY"].ToString();
                                dtpTungay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_DKY"]);
                                txtGiokt1.Text = dtKy1.Rows[0]["GIO_CKY"].ToString();
                                txtPhutkt1.Text = dtKy1.Rows[0]["PHUT_CKY"].ToString();
                                dtpDenngay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_CKY"]);
                                Ky1 = 1;

                                strMa_cto = dtKy1.Rows[0]["MA_CTO"].ToString();
                                strSo_cto = dtKy1.Rows[0]["SO_CTO"].ToString();
                                txtSo_Cto.Text = strSo_cto;
                                txtMa_cto.Text = strMa_cto;
                            }

                            if (ArrKy2.Count() > 0)
                            {
                                dtKy2 = ArrKy2.CopyToDataTable();

                                DataRow[] ArrSG = dtKy2.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG2.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoSGKy2 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrBT = dtKy2.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT2.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoBTKy2 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrCD = dtKy2.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD2.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoCDKy2 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrTD = dtKy2.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD2.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoTDKy2 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrVC = dtKy2.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC2.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoVCKy2 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                txtGiobd2.Text = dtKy2.Rows[0]["GIO_DKY"].ToString();
                                txtPhutbd2.Text = dtKy2.Rows[0]["PHUT_DKY"].ToString();
                                dtpTungay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_DKY"]);
                                txtGiokt2.Text = dtKy2.Rows[0]["GIO_CKY"].ToString();
                                txtPhutkt2.Text = dtKy2.Rows[0]["PHUT_CKY"].ToString();
                                dtpDenngay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_CKY"]);
                                Ky2 = 2;
                            }

                            if (ArrKy3.Count() > 0)
                            {
                                dtKy3 = ArrKy3.CopyToDataTable();

                                DataRow[] ArrSG = dtKy3.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG3.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoSGKy3 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrBT = dtKy3.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT3.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoBTKy3 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrCD = dtKy3.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD3.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoCDKy3 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrTD = dtKy3.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD3.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoTDKy3 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrVC = dtKy3.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC3.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoVCKy3 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                txtGiobd3.Text = dtKy3.Rows[0]["GIO_DKY"].ToString();
                                txtPhutbd3.Text = dtKy3.Rows[0]["PHUT_DKY"].ToString();
                                dtpTungay3.SelectedDate = Convert.ToDateTime(dtKy3.Rows[0]["NGAY_DKY"]);
                                txtGiokt3.Text = dtKy3.Rows[0]["GIO_CKY"].ToString();
                                txtPhutkt3.Text = dtKy3.Rows[0]["PHUT_CKY"].ToString();
                                dtpDenngay3.SelectedDate = Convert.ToDateTime(dtKy3.Rows[0]["NGAY_CKY"]);
                                Ky3 = 3;
                            }

                            if (ArrKy21.Count() > 0)
                            {
                                dtKy21 = ArrKy21.CopyToDataTable();

                                DataRow[] ArrSG = dtKy21.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG2.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoSGKy2 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrBT = dtKy21.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT2.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoBTKy2 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrCD = dtKy21.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD2.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoCDKy2 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrTD = dtKy21.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD2.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoTDKy2 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrVC = dtKy21.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC2.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoVCKy2 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                txtGiobd2.Text = dtKy21.Rows[0]["GIO_DKY"].ToString();
                                txtPhutbd2.Text = dtKy21.Rows[0]["PHUT_DKY"].ToString();
                                dtpTungay2.SelectedDate = Convert.ToDateTime(dtKy21.Rows[0]["NGAY_DKY"]);
                                txtGiokt2.Text = dtKy21.Rows[0]["GIO_CKY"].ToString();
                                txtPhutkt2.Text = dtKy21.Rows[0]["PHUT_CKY"].ToString();
                                dtpDenngay2.SelectedDate = Convert.ToDateTime(dtKy21.Rows[0]["NGAY_CKY"]);
                                Ky2 = 21;
                            }

                            if (ArrKy22.Count() > 0)
                            {
                                dtKy22 = ArrKy22.CopyToDataTable();

                                DataRow[] ArrSG = dtKy22.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG3.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoSGKy3 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrBT = dtKy22.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT3.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoBTKy3 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrCD = dtKy22.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD3.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoCDKy3 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrTD = dtKy22.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD3.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoTDKy3 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                DataRow[] ArrVC = dtKy22.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC3.Text = dtTemp.Rows[0]["SAN_LUONG"].ToString();
                                    Id_chisoVCKy3 = Convert.ToInt64(dtTemp.Rows[0]["ID_CHISO"]);
                                }

                                txtGiobd3.Text = dtKy22.Rows[0]["GIO_DKY"].ToString();
                                txtPhutbd3.Text = dtKy22.Rows[0]["PHUT_DKY"].ToString();
                                dtpTungay3.SelectedDate = Convert.ToDateTime(dtKy22.Rows[0]["NGAY_DKY"]);
                                txtGiokt3.Text = dtKy22.Rows[0]["GIO_CKY"].ToString();
                                txtPhutkt3.Text = dtKy22.Rows[0]["PHUT_CKY"].ToString();
                                dtpDenngay3.SelectedDate = Convert.ToDateTime(dtKy22.Rows[0]["NGAY_CKY"]);
                                Ky3 = 22;
                            }

                            #endregion

                            strSo_cto = dsCHI_SO.Tables[0].Rows[0]["SO_CTO"].ToString();
                            strMa_cto = dsCHI_SO.Tables[0].Rows[0]["MA_CTO"].ToString();
                            hsn = Convert.ToInt32(dsCHI_SO.Tables[0].Rows[0]["HSN"]);
                            txtHSN.Text = dsCHI_SO.Tables[0].Rows[0]["HSN"].ToString();

                        }
                        else
                        {
                            MessageBox.Show("Không có thông tin sản lượng căn cứ !");
                        }

                        #endregion

                        #region DIEM_DO

                        if (dsDDO != null && dsDDO.Tables[0].Rows.Count > 0)
                        {
                            txtMa_ddo_I.Text = dsDDO.Tables[0].Rows[0]["MA_DDO"].ToString();
                            strMa_ddo = dsDDO.Tables[0].Rows[0]["MA_DDO"].ToString();

                            txtGiostop.Text = dsDDO.Tables[0].Rows[0]["GIOTRHU_DEN"].ToString();
                            txtPhutstop.Text = dsDDO.Tables[0].Rows[0]["PHUTTRHU_DEN"].ToString();
                            dtpNgaystop.SelectedDate = Convert.ToDateTime(dsDDO.Tables[0].Rows[0]["NGAYTRTH_DEN"]);

                            txtChuoigia.Text = GlobalServices.Service_Truythu.get_chuoigia(strMa_dviqly, strMa_ddo);                            

                            DataRow[] ArrBT = dsDDO.Tables[0].Select("BCS = 'BT'");
                            if (ArrBT.Count() > 0)
                            {
                                txtSogiomatdiencacKyBT.Text = ArrBT[0]["TG_MDIEN_CANCU"].ToString();
                                txtSogiomatdienTT_BT.Text = ArrBT[0]["TG_MDIEN_TRTHU"].ToString();
                                txtBTsum.Text = ArrBT[0]["SL_TRTHU"].ToString();
                                txtBTtien.Text = ArrBT[0]["THANH_TIEN"].ToString();
                            }

                            DataRow[] ArrCD = dsDDO.Tables[0].Select("BCS = 'CD'");
                            if (ArrCD.Count() > 0)
                            {
                                txtSogiomatdiencacKyCD.Text = ArrCD[0]["TG_MDIEN_CANCU"].ToString();
                                txtSogiomatdienTT_CD.Text = ArrCD[0]["TG_MDIEN_TRTHU"].ToString();
                                txtCDsum.Text = ArrCD[0]["SL_TRTHU"].ToString();
                                txtCDtien.Text = ArrCD[0]["THANH_TIEN"].ToString();
                            }

                            DataRow[] ArrTD = dsDDO.Tables[0].Select("BCS = 'TD'");
                            if (ArrTD.Count() > 0)
                            {
                                txtSogiomatdiencacKyTD.Text = ArrTD[0]["TG_MDIEN_CANCU"].ToString();
                                txtSogiomatdienTT_TD.Text = ArrTD[0]["TG_MDIEN_TRTHU"].ToString();
                                txtTDsum.Text = ArrTD[0]["SL_TRTHU"].ToString();
                                txtTDtien.Text = ArrTD[0]["THANH_TIEN"].ToString();
                            }

                            tabsluongBienban.IsSelected = true;
                            tabTutinh.IsEnabled = false;


                        }
                        else
                        {
                            MessageBox.Show("Không có thông tin truy thu !");
                        }
                        #endregion
                    }
                    else
                        if (rdbTutinh.IsChecked == true)
                        {
                            #region DIEM_DO tự tính

                            if (dsDDO != null && dsDDO.Tables[0].Rows.Count > 0)
                            {
                                txtMa_ddo_I.Text = dsDDO.Tables[0].Rows[0]["MA_DDO"].ToString();
                                strMa_ddo = dsDDO.Tables[0].Rows[0]["MA_DDO"].ToString();

                                strMa_cto = dsDDO.Tables[0].Rows[0]["MA_CTO"].ToString();
                                strSo_cto = dsDDO.Tables[0].Rows[0]["SO_CTO"].ToString();
                                txtSo_Cto.Text = strSo_cto;
                                txtMa_cto.Text = strMa_cto;

                                dtpNgaystop.SelectedDate = Convert.ToDateTime(dsDDO.Tables[0].Rows[0]["NGAYTRTH_DEN"]);
                                txtGiostop.Text = dsDDO.Tables[0].Rows[0]["GIOTRHU_DEN"].ToString();
                                txtPhutstop.Text = dsDDO.Tables[0].Rows[0]["PHUTTRHU_DEN"].ToString();

                                DataRow[] ArrBT = dsDDO.Tables[0].Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    txtSLBTtt.Text = ArrBT[0]["SL_TRTHU"].ToString();
                                    txtTienBTtt.Text = ArrBT[0]["THANH_TIEN"].ToString();
                                }

                                DataRow[] ArrCD = dsDDO.Tables[0].Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    txtSLCDtt.Text = ArrCD[0]["SL_TRTHU"].ToString();
                                    txtTienCDtt.Text = ArrCD[0]["THANH_TIEN"].ToString();
                                }

                                DataRow[] ArrTD = dsDDO.Tables[0].Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    txtSLTDtt.Text = ArrTD[0]["SL_TRTHU"].ToString();
                                    txtTienTDtt.Text = ArrTD[0]["THANH_TIEN"].ToString();
                                }

                                tabTutinh.IsSelected = true;
                                tabsluongBienban.IsEnabled = false;
                            }
                            else
                            {
                                MessageBox.Show("Không có thông tin truy thu !");
                            }
                            #endregion
                        }
                        else
                            if (rdbThoaihoan.IsChecked == true)
                            {
                                #region // Thông tin  chỉ số gần nhất, chỉ số công tơ tháo .... từ KY=0
                                DataRow[] dr = dsCHI_SO.Tables[0].Select("0 = 0", "ID_CHISO ASC");
                                if (dr.Count() > 0)
                                {
                                    DataRow[] drBT = dsCHI_SO.Tables[0].Select("BCS = 'BT'");
                                    if (drBT.Count() > 0)
                                    {
                                        txtBT_TH.Text = drBT[0]["CHISO_MOI"].ToString();
                                        Id_chisoBTKy0 = Convert.ToInt64(drBT[0]["ID_CHISO"]);

                                        if (drBT[0]["NGAY_CKY"].ToString() == string.Empty)
                                        {
                                            dtpDenngayCancuTH.Text = "";
                                        }
                                        else
                                        {
                                            if (Convert.ToDateTime(drBT[0]["NGAY_CKY"]) == Convert.ToDateTime("01/01/1000"))
                                            {
                                                dtpDenngayCancuTH.Text = "";
                                            }
                                            else
                                            {
                                                dtpDenngayCancuTH.SelectedDate = Convert.ToDateTime(drBT[0]["NGAY_CKY"]);
                                            }
                                        }
                                        
                                        dtpTungayCancuTH.SelectedDate = Convert.ToDateTime(drBT[0]["NGAY_DKY"]);
                                        txtSokyCancuTH.Text = drBT[0]["KY"].ToString();                                        
                                    }

                                    DataRow[] drCD = dsCHI_SO.Tables[0].Select("BCS = 'CD'");
                                    if (drCD.Count() > 0)
                                    {
                                        txtCD_TH.Text = drCD[0]["CHISO_MOI"].ToString();
                                        Id_chisoCDKy0 = Convert.ToInt64(drCD[0]["ID_CHISO"]);
                                    }

                                    DataRow[] drTD = dsCHI_SO.Tables[0].Select("BCS = 'TD'");
                                    if (drTD.Count() > 0)
                                    {
                                        txtTD_TH.Text = drTD[0]["CHISO_MOI"].ToString();
                                        Id_chisoTDKy0 = Convert.ToInt64(drTD[0]["ID_CHISO"]);
                                    }
                                    
                                }
                                else
                                {
                                    MessageBox.Show("Không lấy được thông tin chỉ sô !");
                                }

                                #endregion

                                #region DIEM_DO thoái hoàn
                                txtMa_ddo_I.Text = dsDDO.Tables[0].Rows[0]["MA_DDO"].ToString();
                                strMa_ddo = dsDDO.Tables[0].Rows[0]["MA_DDO"].ToString();

                                strSo_cto = dsDDO.Tables[0].Rows[0]["SO_CTO"].ToString();
                                strMa_cto = dsDDO.Tables[0].Rows[0]["MA_CTO"].ToString();
                                txtSo_Cto.Text = strSo_cto;
                                txtMa_cto.Text = strMa_cto;

                                dtpNgaystop.SelectedDate = Convert.ToDateTime(dsDDO.Tables[0].Rows[0]["NGAYTRTH_DEN"]);
                                txtGiostop.Text = dsDDO.Tables[0].Rows[0]["GIOTRHU_DEN"].ToString();
                                txtPhutstop.Text = dsDDO.Tables[0].Rows[0]["PHUTTRHU_DEN"].ToString();

                                if (Convert.ToDouble(dsDDO.Tables[0].Rows[0]["THANH_TIEN"]) < 0)
                                {
                                    txtTienTH.Text = (Convert.ToDouble(dsDDO.Tables[0].Rows[0]["THANH_TIEN"]) * Convert.ToDouble(-1)).ToString();
                                }
                                else
                                {
                                    txtTienTH.Text = dsDDO.Tables[0].Rows[0]["THANH_TIEN"].ToString();
                                }
                                #endregion
                            }

                    tabTruythu.IsSelected = true;
                    btnSua.IsEnabled = true;

                }
            }

        }

        private void ckbKhongdoc_Checked(object sender, RoutedEventArgs e)
        {
            checkDocchiso = false;
            Items_Docchiso_Enable(false);
            Items_Docchiso_Text("");
        }

        private void ckbKhongdoc_Unchecked(object sender, RoutedEventArgs e)
        {
            checkDocchiso = true;
            if (strBtnClick == "btnThemMoi" || strBtnClick == "SUA")
            {
                Items_Docchiso_Enable(true);
            }
        }

        public void Items_Docchiso_Enable(bool var)
        {
            if (var == true)
            {
                if (strBtnClick == "btnThemMoi" || strBtnClick == "SUA")
                {
                    if (ckbKoDoctg.IsChecked == true)
                    {
                        txtGioktct.IsEnabled = false;
                        txtPhutktct.IsEnabled = false;
                        dtpDenngayct.IsEnabled = false;

                        txtGioktct.Text = "";
                        txtPhutktct.Text = "";
                        dtpDenngayct.Text = "";
                    }
                    else
                    {
                        txtGioktct.IsEnabled = true;
                        txtPhutktct.IsEnabled = true;
                        dtpDenngayct.IsEnabled = true;
                    }

                    txtSGct.IsEnabled = var;
                    txtBTct.IsEnabled = var;
                    txtCDct.IsEnabled = var;
                    txtTDct.IsEnabled = var;
                    txtVCct.IsEnabled = var;
                    ckbKoDoctg.IsEnabled = var;
                }
            }
            else
            {
                txtSGct.IsEnabled = var;
                txtBTct.IsEnabled = var;
                txtCDct.IsEnabled = var;
                txtTDct.IsEnabled = var;
                txtVCct.IsEnabled = var;
                txtGioktct.IsEnabled = var;
                txtPhutktct.IsEnabled = var;
                dtpDenngayct.IsEnabled = var;
                ckbKoDoctg.IsEnabled = var;
            }
        }

        public void Items_Docchiso_Text(string text)
        {
            txtSGct.Text = text;
            txtBTct.Text = text;
            txtCDct.Text = text;
            txtTDct.Text = text;
            txtVCct.Text = text;
            txtGioktct.Text = text;
            txtPhutktct.Text = text;
            dtpDenngayct.Text = text;
        }

        
        public void Hienthi_dlieu_cancu()
        {
            try
            {
                DataTable dtNGAY_CKY = new DataTable();
                DataTable dtNGAY_CKYAf = new DataTable();
                DataTable dtBT = new DataTable();
                DataTable dtCD = new DataTable();
                DataTable dtTD = new DataTable();
                DataTable dtSG = new DataTable();
                DataTable dtVC = new DataTable();
                DataTable dtKy1 = new DataTable();
                DataTable dtKy2 = new DataTable();
                DataTable dtKy3 = new DataTable();
                DataTable dtTemp = new DataTable(); 

                if (dsCancu != null && dsCancu.Tables[0].Rows.Count > 0)
                {
                    DataRow[] ArrNgaycuoiKy;
                    DataRow[] ArrNgaycuoiKyAf; 
                    DataRow[] ArrBT;
                    DataRow[] ArrCD;
                    DataRow[] ArrTD;
                    DataRow[] ArrSG;
                    DataRow[] ArrVC;

                    ArrNgaycuoiKy = dsCancu.Tables["KYTHANGNAM"].Select("1=1");

                    if (ArrNgaycuoiKy.Count() > 0)
                    {
                        countKy = ArrNgaycuoiKy.Count();
                        countKyTruoc = 0;
                        countKySau = 0;

                        dtNGAY_CKY = ArrNgaycuoiKy.CopyToDataTable();

                        if (countKy < 3) // không đủ 3 kỳ trước sự cố
                        {
                            dsCancu.Reset();
                            if (ckbKhongdoc.IsChecked == true)
                            {
                                dsCancu = GlobalServices.Service_Truythu.Get_Sanluong_Cancu_Dtu_After(strMa_dviqly, strMa_ddo, dtpNgaystop.SelectedDate.Value.Date, dtpNgaystop.SelectedDate.Value.Date, i16ThangHD, i16NamHD);
                            }
                            else
                            {
                                if (ckbKoDoctg.IsChecked == true)
                                {
                                    dsCancu = GlobalServices.Service_Truythu.Get_Sanluong_Cancu_Dtu_After(strMa_dviqly, strMa_ddo, dtpNgaystop.SelectedDate.Value.Date, dtpNgaystop.SelectedDate.Value.Date, i16ThangHD, i16NamHD);
                                }
                                else
                                {
                                    dsCancu = GlobalServices.Service_Truythu.Get_Sanluong_Cancu_Dtu_After(strMa_dviqly, strMa_ddo, dtpDenngayct.SelectedDate.Value.Date, dtpNgaystop.SelectedDate.Value.Date, i16ThangHD, i16NamHD);
                                }
                            }

                            ArrNgaycuoiKy = dsCancu.Tables["KYTHANGNAM"].Select("1=1");

                            //if (dsCancu.Tables.Contains("KYTHANGNAM_AFTER") == true)
                            //{
                            //    ArrNgaycuoiKyAf = dsCancu.Tables["KYTHANGNAM_AFTER"].Select("1=1");
                            //}
                            //ArrNgaycuoiKyAf = dsCancu.Tables["KYTHANGNAM_AFTER"].Select("1=1");

                            if (!dsCancu.Tables.Contains("KYTHANGNAM_AFTER"))
                            {
                                countKySau = 0;
                                countKyTruoc = ArrNgaycuoiKy.Count();
                                countKy = ArrNgaycuoiKy.Count();
                            }
                            else
                            {
                                ArrNgaycuoiKyAf = dsCancu.Tables["KYTHANGNAM_AFTER"].Select("1=1");
                                countKyTruoc = ArrNgaycuoiKy.Count();
                                countKySau = ArrNgaycuoiKyAf.Count();
                                countKy = countKyTruoc + countKySau;
                            }


                        }
                    }
                    else
                    {
                        return;
                    }

                    if (countKy < 3)
                    {
                        if (MessageBox.Show("Không đủ 3 chu kỳ làm căn cứ, có tiếp tục tính truy thu ?", "Thông báo", MessageBoxButton.YesNo) == MessageBoxResult.No)
                        { return; }
                        else
                        { }
                    }

                    #region ===== có kỳ trước và kỳ sau =====
                    if (countKyTruoc < 3 && countKySau > 0)
                    {
                        
                        if (countKyTruoc == 2)  // số kỳ trước là 2
                        {
                            #region // hiển thị kỳ trước
                            // Ky1
                            DataRow[] ArrKy1 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKyTruoc - 1]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKyTruoc - 1]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKyTruoc - 1]["NAM"].ToString() + "'");
                            if (ArrKy1.Count() > 0)
                            {
                                dtKy1 = ArrKy1.CopyToDataTable();

                                ArrSG = dtKy1.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrBT = dtKy1.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrCD = dtKy1.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrTD = dtKy1.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrVC = dtKy1.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                txtGiobd1.Text = "0";
                                txtPhutbd1.Text = "0";
                                dtpTungay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_DKY"]);
                                txtGiokt1.Text = "23";
                                txtPhutkt1.Text = "59";
                                dtpDenngay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_CKY"]);
                            }


                            //Ky2
                            DataRow[] ArrKy2 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKyTruoc - 2]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKyTruoc - 2]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKyTruoc - 2]["NAM"].ToString() + "'");
                            if (ArrKy2.Count() > 0)
                            {
                                dtKy2 = ArrKy2.CopyToDataTable();

                                ArrSG = dtKy2.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrBT = dtKy2.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrCD = dtKy2.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrTD = dtKy2.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrVC = dtKy2.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                txtGiobd2.Text = "0";
                                txtPhutbd2.Text = "0";
                                dtpTungay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_DKY"]);
                                txtGiokt2.Text = "23";
                                txtPhutkt2.Text = "59";
                                dtpDenngay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_CKY"]);
                            }
                        #endregion

                        #region // hien thi ky sau
                            //Ky3
                            DataRow[] ArrKy3 = dsCancu.Tables["SAN_LUONG_AFTER"].Select("KY = '" + dtNGAY_CKYAf.Rows[0]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKYAf.Rows[0]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKYAf.Rows[0]["NAM"].ToString() + "'");
                            if (ArrKy3.Count() > 0)
                            {
                                dtKy3 = ArrKy3.CopyToDataTable();

                                ArrSG = dtKy3.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrBT = dtKy3.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrCD = dtKy3.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrTD = dtKy3.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrVC = dtKy3.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                txtGiobd3.Text = "0";
                                txtPhutbd3.Text = "0";
                                dtpTungay3.SelectedDate = Convert.ToDateTime(dtKy3.Rows[0]["NGAY_DKY"]);
                                txtGiokt3.Text = "23";
                                txtPhutkt3.Text = "59";
                                dtpDenngay3.SelectedDate = Convert.ToDateTime(dtKy3.Rows[0]["NGAY_CKY"]);
                            }
                            #endregion


                        }
                        else
                            if (countKyTruoc == 1 )  // số kỳ trước là 1
                            {
                                #region // hiển thị kỳ trước
                                // Ky1
                                DataRow[] ArrKy1 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKyTruoc - 1]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKyTruoc - 1]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKyTruoc - 1]["NAM"].ToString() + "'");
                                if (ArrKy1.Count() > 0)
                                {
                                    dtKy1 = ArrKy1.CopyToDataTable();

                                    ArrSG = dtKy1.Select("BCS = 'SG'");
                                    if (ArrSG.Count() > 0)
                                    {
                                        dtTemp = ArrSG.CopyToDataTable();
                                        txtSG1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrBT = dtKy1.Select("BCS = 'BT'");
                                    if (ArrBT.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrBT.CopyToDataTable();
                                        txtBT1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrCD = dtKy1.Select("BCS = 'CD'");
                                    if (ArrCD.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrCD.CopyToDataTable();
                                        txtCD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrTD = dtKy1.Select("BCS = 'TD'");
                                    if (ArrTD.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrTD.CopyToDataTable();
                                        txtTD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrVC = dtKy1.Select("BCS = 'VC'");
                                    if (ArrVC.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrVC.CopyToDataTable();
                                        txtVC1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    txtGiobd1.Text = "0";
                                    txtPhutbd1.Text = "0";
                                    dtpTungay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_DKY"]);
                                    txtGiokt1.Text = "23";
                                    txtPhutkt1.Text = "59";
                                    dtpDenngay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_CKY"]);
                                }
                                #endregion

                                #region // hiển thị kỳ sau
                                //Ky2
                                DataRow[] ArrKy2 = dsCancu.Tables["SAN_LUONG_AFTER"].Select("KY = '" + dtNGAY_CKYAf.Rows[0]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKYAf.Rows[0]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKYAf.Rows[0]["NAM"].ToString() + "'");
                                if (ArrKy2.Count() > 0)
                                {
                                    dtKy2 = ArrKy2.CopyToDataTable();

                                    ArrSG = dtKy2.Select("BCS = 'SG'");
                                    if (ArrSG.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrSG.CopyToDataTable();
                                        txtSG2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrBT = dtKy2.Select("BCS = 'BT'");
                                    if (ArrBT.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrBT.CopyToDataTable();
                                        txtBT2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrCD = dtKy2.Select("BCS = 'CD'");
                                    if (ArrCD.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrCD.CopyToDataTable();
                                        txtCD2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrTD = dtKy2.Select("BCS = 'TD'");
                                    if (ArrTD.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrTD.CopyToDataTable();
                                        txtTD2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrVC = dtKy2.Select("BCS = 'VC'");
                                    if (ArrVC.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrVC.CopyToDataTable();
                                        txtVC2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    txtGiobd2.Text = "0";
                                    txtPhutbd2.Text = "0";
                                    dtpTungay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_DKY"]);
                                    txtGiokt2.Text = "23";
                                    txtPhutkt2.Text = "59";
                                    dtpDenngay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_CKY"]);
                                }

                                //Ky3
                                if (countKySau > 1)
                                {
                                    DataRow[] ArrKy3 = dsCancu.Tables["SAN_LUONG_AFTER"].Select("KY = '" + dtNGAY_CKYAf.Rows[1]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKYAf.Rows[1]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKYAf.Rows[1]["NAM"].ToString() + "'");
                                    if (ArrKy3.Count() > 0)
                                    {
                                        dtKy3 = ArrKy3.CopyToDataTable();

                                        ArrSG = dtKy3.Select("BCS = 'SG'");
                                        if (ArrSG.Count() > 0)
                                        {
                                            dtTemp.Clear();
                                            dtTemp = ArrSG.CopyToDataTable();
                                            txtSG3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                        }

                                        ArrBT = dtKy3.Select("BCS = 'BT'");
                                        if (ArrBT.Count() > 0)
                                        {
                                            dtTemp.Clear();
                                            dtTemp = ArrBT.CopyToDataTable();
                                            txtBT3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                        }

                                        ArrCD = dtKy3.Select("BCS = 'CD'");
                                        if (ArrCD.Count() > 0)
                                        {
                                            dtTemp.Clear();
                                            dtTemp = ArrCD.CopyToDataTable();
                                            txtCD3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                        }

                                        ArrTD = dtKy3.Select("BCS = 'TD'");
                                        if (ArrTD.Count() > 0)
                                        {
                                            dtTemp.Clear();
                                            dtTemp = ArrTD.CopyToDataTable();
                                            txtTD3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                        }

                                        ArrVC = dtKy3.Select("BCS = 'VC'");
                                        if (ArrVC.Count() > 0)
                                        {
                                            dtTemp.Clear();
                                            dtTemp = ArrVC.CopyToDataTable();
                                            txtVC3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                        }

                                        txtGiobd3.Text = "0";
                                        txtPhutbd3.Text = "0";
                                        dtpTungay3.SelectedDate = Convert.ToDateTime(dtKy3.Rows[0]["NGAY_DKY"]);
                                        txtGiokt3.Text = "23";
                                        txtPhutkt3.Text = "59";
                                        dtpDenngay3.SelectedDate = Convert.ToDateTime(dtKy3.Rows[0]["NGAY_CKY"]);
                                    }
 
                                }

                                #endregion
                            }
                    }

                    #endregion


                    #region ===== chỉ có kỳ trước sự cố =====
                    if (countKy >= 3 && countKySau < 1)
                    {
                        // Ky1
                        DataRow[] ArrKy1 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKy - 1]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKy - 1]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKy - 1]["NAM"].ToString() + "'");
                        if (ArrKy1.Count() > 0)
                        {
                            dtKy1 = ArrKy1.CopyToDataTable();

                            ArrSG = dtKy1.Select("BCS = 'SG'");
                            if (ArrSG.Count() > 0)
                            {
                                dtTemp = ArrSG.CopyToDataTable();
                                txtSG1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            ArrBT = dtKy1.Select("BCS = 'BT'");
                            if (ArrBT.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrBT.CopyToDataTable();
                                txtBT1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            ArrCD = dtKy1.Select("BCS = 'CD'");
                            if (ArrCD.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrCD.CopyToDataTable();
                                txtCD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            ArrTD = dtKy1.Select("BCS = 'TD'");
                            if (ArrTD.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrTD.CopyToDataTable();
                                txtTD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            ArrVC = dtKy1.Select("BCS = 'VC'");
                            if (ArrVC.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrVC.CopyToDataTable();
                                txtVC1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            txtGiobd1.Text = "0";
                            txtPhutbd1.Text = "0";
                            dtpTungay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_DKY"]);
                            txtGiokt1.Text = "23";
                            txtPhutkt1.Text = "59";
                            dtpDenngay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_CKY"]);
                        }


                        //Ky2
                        DataRow[] ArrKy2 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKy - 2]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKy - 2]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKy - 2]["NAM"].ToString() + "'");
                        if (ArrKy2.Count() > 0)
                        {
                            dtKy2 = ArrKy2.CopyToDataTable();

                            ArrSG = dtKy2.Select("BCS = 'SG'");
                            if (ArrSG.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrSG.CopyToDataTable();
                                txtSG2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            ArrBT = dtKy2.Select("BCS = 'BT'");
                            if (ArrBT.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrBT.CopyToDataTable();
                                txtBT2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            ArrCD = dtKy2.Select("BCS = 'CD'");
                            if (ArrCD.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrCD.CopyToDataTable();
                                txtCD2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            ArrTD = dtKy2.Select("BCS = 'TD'");
                            if (ArrTD.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrTD.CopyToDataTable();
                                txtTD2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            ArrVC = dtKy2.Select("BCS = 'VC'");
                            if (ArrVC.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrVC.CopyToDataTable();
                                txtVC2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            txtGiobd2.Text = "0";
                            txtPhutbd2.Text = "0";
                            dtpTungay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_DKY"]);
                            txtGiokt2.Text = "23";
                            txtPhutkt2.Text = "59";
                            dtpDenngay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_CKY"]);
                        }

                        //Ky3
                        DataRow[] ArrKy3 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKy - 3]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKy - 3]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKy - 3]["NAM"].ToString() + "'");
                        if (ArrKy3.Count() > 0)
                        {
                            dtKy3 = ArrKy3.CopyToDataTable();

                            ArrSG = dtKy3.Select("BCS = 'SG'");
                            if (ArrSG.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrSG.CopyToDataTable();
                                txtSG3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            ArrBT = dtKy3.Select("BCS = 'BT'");
                            if (ArrBT.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrBT.CopyToDataTable();
                                txtBT3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            ArrCD = dtKy3.Select("BCS = 'CD'");
                            if (ArrCD.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrCD.CopyToDataTable();
                                txtCD3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            ArrTD = dtKy3.Select("BCS = 'TD'");
                            if (ArrTD.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrTD.CopyToDataTable();
                                txtTD3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            ArrVC = dtKy3.Select("BCS = 'VC'");
                            if (ArrVC.Count() > 0)
                            {
                                dtTemp.Clear();
                                dtTemp = ArrVC.CopyToDataTable();
                                txtVC3.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                            }

                            txtGiobd3.Text = "0";
                            txtPhutbd3.Text = "0";
                            dtpTungay3.SelectedDate = Convert.ToDateTime(dtKy3.Rows[0]["NGAY_DKY"]);
                            txtGiokt3.Text = "23";
                            txtPhutkt3.Text = "59";
                            dtpDenngay3.SelectedDate = Convert.ToDateTime(dtKy3.Rows[0]["NGAY_CKY"]);
                        }


                    }
                    else
                        if (countKy == 2 && countKySau < 1)
                        {
                            // Ky1
                            DataRow[] ArrKy1 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKy - 1]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKy - 1]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKy - 1]["NAM"].ToString() + "'");
                            if (ArrKy1.Count() > 0)
                            {
                                dtKy1 = ArrKy1.CopyToDataTable();

                                ArrSG = dtKy1.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrBT = dtKy1.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrCD = dtKy1.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrTD = dtKy1.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrVC = dtKy1.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                txtGiobd1.Text = "0";
                                txtPhutbd1.Text = "0";
                                dtpTungay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_DKY"]);
                                txtGiokt1.Text = "23";
                                txtPhutkt1.Text = "59";
                                dtpDenngay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_CKY"]);
                            }


                            //Ky2
                            DataRow[] ArrKy2 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKy - 2]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKy - 2]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKy - 2]["NAM"].ToString() + "'");
                            if (ArrKy2.Count() > 0)
                            {
                                dtKy2 = ArrKy2.CopyToDataTable();

                                ArrSG = dtKy2.Select("BCS = 'SG'");
                                if (ArrSG.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrSG.CopyToDataTable();
                                    txtSG2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrBT = dtKy2.Select("BCS = 'BT'");
                                if (ArrBT.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrBT.CopyToDataTable();
                                    txtBT2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrCD = dtKy2.Select("BCS = 'CD'");
                                if (ArrCD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrCD.CopyToDataTable();
                                    txtCD2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrTD = dtKy2.Select("BCS = 'TD'");
                                if (ArrTD.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrTD.CopyToDataTable();
                                    txtTD2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                ArrVC = dtKy2.Select("BCS = 'VC'");
                                if (ArrVC.Count() > 0)
                                {
                                    dtTemp.Clear();
                                    dtTemp = ArrVC.CopyToDataTable();
                                    txtVC2.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                }

                                txtGiobd2.Text = "0";
                                txtPhutbd2.Text = "0";
                                dtpTungay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_DKY"]);
                                txtGiokt2.Text = "23";
                                txtPhutkt2.Text = "59";
                                dtpDenngay2.SelectedDate = Convert.ToDateTime(dtKy2.Rows[0]["NGAY_CKY"]);
                            }
                        }
                        else
                            if (countKy == 1 && countKySau < 1)
                            {
                                // Ky1
                                DataRow[] ArrKy1 = dsCancu.Tables[0].Select("KY = '" + dtNGAY_CKY.Rows[countKy - 1]["KY"].ToString() + "'" + " AND THANG = '" + dtNGAY_CKY.Rows[countKy - 1]["THANG"].ToString() + "'" + " AND NAM = '" + dtNGAY_CKY.Rows[countKy - 1]["NAM"].ToString() + "'");
                                if (ArrKy1.Count() > 0)
                                {
                                    dtKy1 = ArrKy1.CopyToDataTable();

                                    ArrSG = dtKy1.Select("BCS = 'SG'");
                                    if (ArrSG.Count() > 0)
                                    {
                                        dtTemp = ArrSG.CopyToDataTable();
                                        txtSG1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrBT = dtKy1.Select("BCS = 'BT'");
                                    if (ArrBT.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrBT.CopyToDataTable();
                                        txtBT1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrCD = dtKy1.Select("BCS = 'CD'");
                                    if (ArrCD.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrCD.CopyToDataTable();
                                        txtCD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrTD = dtKy1.Select("BCS = 'TD'");
                                    if (ArrTD.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrTD.CopyToDataTable();
                                        txtTD1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    ArrVC = dtKy1.Select("BCS = 'VC'");
                                    if (ArrVC.Count() > 0)
                                    {
                                        dtTemp.Clear();
                                        dtTemp = ArrVC.CopyToDataTable();
                                        txtVC1.Text = dtTemp.Rows[0]["SLUONG_END"].ToString();
                                    }

                                    txtGiobd1.Text = "0";
                                    txtPhutbd1.Text = "0";
                                    dtpTungay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_DKY"]);
                                    txtGiokt1.Text = "23";
                                    txtPhutkt1.Text = "59";
                                    dtpDenngay1.SelectedDate = Convert.ToDateTime(dtKy1.Rows[0]["NGAY_CKY"]);
                                }
                            }

                    #endregion

                    #region //Lấy chỉ số kỳ gần nhất
                    if (dsCancu.Tables["CHI_SO"].Rows.Count > 0)
                    {
                        dtTemp.Clear();

                        ArrSG = dsCancu.Tables["CHI_SO"].Select("BCS = 'SG'");
                        if (ArrSG.Count() > 0)
                        {
                            dtTemp = ArrSG.CopyToDataTable();
                            //ChisogannhatSG = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"].ToString());
                            txtSGgn.Text = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"]).ToString();
                        }
                        else
                        {
                            txtSGgn.Text = "0";
                        }

                        ArrBT = dsCancu.Tables["CHI_SO"].Select("BCS = 'BT'");
                        if (ArrBT.Count() > 0)
                        {
                            dtTemp.Clear();
                            dtTemp = ArrBT.CopyToDataTable();
                            //ChisogannhatBT = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"].ToString());
                            txtBTgn.Text = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"]).ToString();
                        }
                        else
                        {
                            txtBTgn.Text = "0";
                        }

                        ArrCD = dsCancu.Tables["CHI_SO"].Select("BCS = 'CD'");
                        if (ArrCD.Count() > 0)
                        {
                            dtTemp.Clear();
                            dtTemp = ArrCD.CopyToDataTable();
                            //ChisogannhatCD = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"].ToString());
                            txtCDgn.Text = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"]).ToString();
                        }
                        else
                        {
                            txtCDgn.Text = "0";
                        }

                        ArrTD = dsCancu.Tables["CHI_SO"].Select("BCS = 'TD'");
                        if (ArrTD.Count() > 0)
                        {
                            dtTemp.Clear();
                            dtTemp = ArrTD.CopyToDataTable();
                            //ChisogannhatTD = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"].ToString());
                            txtTDgn.Text = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"]).ToString();
                        }
                        else
                        {
                            txtTDgn.Text = "0";
                        }

                        ArrVC = dsCancu.Tables["CHI_SO"].Select("BCS = 'VC'");
                        if (ArrVC.Count() > 0)
                        {
                            dtTemp.Clear();
                            dtTemp = ArrVC.CopyToDataTable();
                            //ChisogannhatVC = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"].ToString());
                            txtVCgn.Text = Convert.ToDouble(dtTemp.Rows[0]["CHISO_MOI"]).ToString();
                        }
                        else
                        {
                            txtVCgn.Text = "0";
                        }

                        //dtNgayDKY_gannhat = Convert.ToDateTime(dsCancu.Tables["CHI_SO"].Rows[0]["NGAY_DKY"]);
                        //dtNgayCKY_gannhat = Convert.ToDateTime(dsCancu.Tables["CHI_SO"].Rows[0]["NGAY_CKY"]);
                        //dtNgayghigannhat = Convert.ToDateTime(dsCancu.Tables["CHI_SO"].Rows[0]["NGAY_CKY"]);

                        txtGioghign.Text = "23";
                        txtPhutghign.Text = "59";
                        dtpNgayghign.SelectedDate = Convert.ToDateTime(dsCancu.Tables["CHI_SO"].Rows[0]["NGAY_CKY"]);

                        strSo_cto = dsCancu.Tables["CHI_SO"].Rows[0]["SO_CTO"].ToString();
                        strMa_cto = dsCancu.Tables["CHI_SO"].Rows[0]["MA_CTO"].ToString();                        
                        hsn = Convert.ToInt32(dsCancu.Tables["CHI_SO"].Rows[0]["HS_NHAN"]);
                        txtSo_Cto.Text = strSo_cto;
                        txtMa_cto.Text = strMa_cto;
                        txtHSN.Text = dsCancu.Tables["CHI_SO"].Rows[0]["HS_NHAN"].ToString();
                        txtLoai_cto.Text = dsCancu.Tables["LOAICTO"].Rows[0]["LOAI_CTO"].ToString();
                    }
                    #endregion

                    txtChuoigia.Text = GlobalServices.Service_Truythu.get_chuoigia(strMa_dviqly, strMa_ddo);
                    
                    btnLayDuLieu_I.IsEnabled = false;
                    btnGhi.IsEnabled = true;
                    txtMa_ddo_I.IsReadOnly = true;
                    //Enable_ThongtinCancu(true);
                    Enable_KyCancu(true, countKy);


                }
                else
                {
                    MessageBox.Show("Không có dữ liệu Sản lượng các kỳ liền kề làm căn cứ !");
                    return;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void btnLayCancu_Click(object sender, RoutedEventArgs e)
        {
            try 
            {
                if (ckbTunhap.IsChecked == false)
                {
                    if (strBtnClick == "btnThemMoi") // chỉ lấy sản lượng căn cứ từ dữ liệu khi Thêm mới
                    {
                        if (ckbKhongdoc.IsChecked == true)
                        {
                            if (!dtpNgaystop.SelectedDate.HasValue)
                            {
                                MessageBox.Show("Hãy nhập ngày dừng cấp điện !");
                                return;
                            }

                            dsCancu = GlobalServices.Service_Truythu.Get_Sanluong_Cancu_Dtu(strMa_dviqly, strMa_ddo, dtpNgaystop.SelectedDate.Value.Date, i16ThangHD, i16NamHD);
                            Hienthi_dlieu_cancu();
                        }
                        else
                        {
                            if (ckbKoDoctg.IsChecked == false)
                            {
                                if (!dtpDenngayct.SelectedDate.HasValue)
                                {
                                    MessageBox.Show("Hãy nhập ngày đọc được từ công tơ !");
                                    return;
                                }
                                dsCancu = GlobalServices.Service_Truythu.Get_Sanluong_Cancu_Dtu(strMa_dviqly, strMa_ddo, dtpDenngayct.SelectedDate.Value.Date, i16ThangHD, i16NamHD);
                            }
                            else
                            {
                                dsCancu = GlobalServices.Service_Truythu.Get_Sanluong_Cancu_Dtu(strMa_dviqly, strMa_ddo, dtpNgaystop.SelectedDate.Value.Date, i16ThangHD, i16NamHD);
                            }

                            
                            Hienthi_dlieu_cancu();
                        }
                    }

                    if (rdbBieutong.IsChecked == true)
                    {
                        Enable_TheoBieutong(false);
                    }
                    
                }
                else
                {
                    if (txtSoky.Text.Trim().ToString() == string.Empty)
                    {
                        MessageBox.Show("Hãy nhập số kỳ !");
                        txtSoky.Focus();
                        return;
                    }
                    else
                    {
                        int i = 0;
                        if (!int.TryParse(txtSoky.Text.Trim(), out i))
                        {
                            MessageBox.Show("Hãy nhập số kỳ !");
                            txtSoky.Focus();
                            return;
                        }
                        else
                        {
                            i = Convert.ToInt32(txtSoky.Text.Trim());
                            if (i < 0 || i > 3)
                            {
                                MessageBox.Show("Số kỳ từ 1 đến 3 !");
                                txtSoky.Focus();
                                return;
                            }
                            else
                            {
                                Enable_KyCancu(true, i);
                            }
                        }
                    }
                    //txtSoky.IsEnabled = false;
                    //if (rdbBieutong.IsChecked == true)
                    //{
                    //    Enable_TheoBieutong(false);
                    //}
                }

                txtChuoigia.Text = GlobalServices.Service_Truythu.get_chuoigia(strMa_dviqly, strMa_ddo);

                btnLayDuLieu_I.IsEnabled = false;
                btnGhi.IsEnabled = true;
                txtMa_ddo_I.IsReadOnly = true;
                //Enable_ThongtinCancu(true);
                //ckbTunhap.IsEnabled = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }

        }

        private void ckbDoctg_Checked(object sender, RoutedEventArgs e)
        {
            txtGioktct.IsEnabled = true;
            txtPhutktct.IsEnabled = true;
            dtpDenngayct.IsEnabled = true;
        }

        private void ckbDoctg_Unchecked(object sender, RoutedEventArgs e)
        {
            txtGioktct.IsEnabled = false;
            txtPhutktct.IsEnabled = false;
            dtpDenngayct.IsEnabled = false;

            txtGioktct.Text = "";
            txtPhutktct.Text = "";
            dtpDenngayct.Text = "";
        }

        private void ckbTunhap_Checked(object sender, RoutedEventArgs e)
        {
            try
            {
                if (strBtnClick == "btnThemMoi" || strBtnClick == "SUA")
                {
                    txtSoky.IsEnabled = true;
                    txtHSN.IsReadOnly = false;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void ckbTunhap_Unchecked(object sender, RoutedEventArgs e)
        {
            try
            {
                txtSoky.IsEnabled = false;
                txtHSN.IsReadOnly = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void ckbKoDoctg_Checked(object sender, RoutedEventArgs e)
        {
            checkDoctgian = false;
            txtGioktct.IsEnabled = false;
            txtPhutktct.IsEnabled = false;
            dtpDenngayct.IsEnabled = false;

            txtGioktct.Text = "";
            txtPhutktct.Text = "";
            dtpDenngayct.Text = "";

        }

        private void ckbKoDoctg_Unchecked(object sender, RoutedEventArgs e)
        {
            if (strBtnClick == "btnThemMoi" || strBtnClick == "SUA")
            {
                checkDoctgian = true;
                txtGioktct.IsEnabled = true;
                txtPhutktct.IsEnabled = true;
                dtpDenngayct.IsEnabled = true;
            }
        }

        private void rdbTutinh_Checked(object sender, RoutedEventArgs e)
        {
            tabTutinh.IsSelected = true;
            if (strBtnClick == "btnThemMoi" || strBtnClick == "SUA")
            {
                tabTutinh.IsEnabled = true;
                tabsluongBienban.IsEnabled = false;
                tabsluongCancu.IsEnabled = false;
                tabThoaihoan.IsEnabled = false;

                txtSLBTtt.IsEnabled = true;
                txtSLCDtt.IsEnabled = true;
                txtSLTDtt.IsEnabled = true;

                txtTienBTtt.IsEnabled = true;
                txtTienCDtt.IsEnabled = true;
                txtTienTDtt.IsEnabled = true;

                txtSobbTThuan.IsEnabled = true;
                dtpNgaythoathuan.IsEnabled = true;

                btnGhi.IsEnabled = true;

            }
            else
            {
                txtSLBTtt.IsEnabled = false;
                txtSLCDtt.IsEnabled = false;
                txtSLTDtt.IsEnabled = false;

                txtTienBTtt.IsEnabled = false;
                txtTienCDtt.IsEnabled = false;
                txtTienTDtt.IsEnabled = false;

                txtSobbTThuan.IsEnabled = false;
                dtpNgaythoathuan.IsEnabled = false;
            }
        }

        private void rdbTutinh_Unchecked(object sender, RoutedEventArgs e)
        {
            tabTutinh.IsEnabled = false;
            if (rdbThongthuong.IsChecked == true || rdbBieutong.IsChecked == true)
            {
                tabsluongBienban.IsSelected = true;
            }
            else
            {
                tabThoaihoan.IsSelected = true;
            }

            if (strBtnClick == "btnThemMoi" || strBtnClick == "SUA")
            {
                if (rdbThongthuong.IsChecked == true || rdbBieutong.IsChecked == true)
                {
                    tabsluongBienban.IsEnabled = true;
                    tabsluongCancu.IsEnabled = true;
                }
                else
                {
                    tabThoaihoan.IsEnabled = true;
                }
            }

            txtSLBTtt.IsEnabled = false;
            txtSLCDtt.IsEnabled = false;
            txtSLTDtt.IsEnabled = false;

            txtTienBTtt.IsEnabled = false;
            txtTienCDtt.IsEnabled = false;
            txtTienTDtt.IsEnabled = false;

            txtSobbTThuan.IsEnabled = false;
            dtpNgaythoathuan.IsEnabled = false;
        }

        private void btnTinhgio_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                txtBT.Text = "";
                txtCD.Text = "";
                txtTD.Text = "";

                Int32 intt = 0;

                if (!Int32.TryParse(txtgiob.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập giờ bắt đầu !");
                    txtgiob.Focus();
                    return ;
                }
                else
                {
                    if (checkGio(txtgiob) == false)
                    { return; }
                }

                if (!Int32.TryParse(txtphutb.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập phút bắt đầu !");
                    txtphutb.Focus();
                    return ;
                }
                else
                {
                    if (checkPhut(txtphutb) == false)
                    { return ; }
                }

                if (!Int32.TryParse(txtgioe.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập giờ kết thúc !");
                    txtgioe.Focus();
                    return;
                }
                else
                {
                    if (checkGio(txtgioe) == false)
                    { return; }
                }

                if (!Int32.TryParse(txtphute.Text.Trim(), out intt))
                {
                    MessageBox.Show("Hãy nhập phút kết thúc !");
                    txtphute.Focus();
                    return;
                }
                else
                {
                    if (checkPhut(txtphute) == false)
                    { return; }
                }

                if (!dtpngayb.SelectedDate.HasValue)
                {
                    MessageBox.Show("Hãy nhập ngày bắt đầu !");
                    return;
                }

                if (!dtpngaye.SelectedDate.HasValue)
                {
                    MessageBox.Show("Hãy nhập ngày kết thúc !");
                    return;
                }


                Tinh_gio(Convert.ToInt32(txtgiob.Text.Trim()), Convert.ToInt32(txtphutb.Text.Trim()), dtpngayb.SelectedDate.Value.Date, Convert.ToInt32(txtgioe.Text.Trim()), Convert.ToInt32(txtphute.Text.Trim()), dtpngaye.SelectedDate.Value.Date);

                txtBT.Text = BT.ToString("###,###,###.##");
                txtCD.Text = CD.ToString("###,###,###.##");
                txtTD.Text = TD.ToString("###,###,###.##");

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void btnLayDuLieu_S_DDO_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (txtMa_khang_S_DDO.Text.Trim().ToString() != string.Empty)
                {
                    string strMa_khang = txtMa_khang_S_DDO.Text.Trim().ToString();
                    DataSet ds = new DataSet();
                    strError = "";
                    ds = GlobalServices.Service_Truythu.Get_DDO_by_MaKHANG(strMa_dviqly, strMa_khang, ref strError);
                    if (ds != null && ds.Tables[0].Rows.Count > 0)
                    {
                        dgrDSach_DDo.ItemsSource = ds.Tables[0].DefaultView;
                    }
                    else
                    {
                        MessageBox.Show("Không lấy được dữ liệu \n" + strError.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void rdbThoaihoan_Checked(object sender, RoutedEventArgs e)
        {
            tabThoaihoan.IsSelected = true;
            if (strBtnClick == "btnThemMoi" || strBtnClick == "SUA")
            {
                tabTutinh.IsEnabled = false;
                tabsluongBienban.IsEnabled = false;
                tabsluongCancu.IsEnabled = false;
                tabThoaihoan.IsEnabled = true;

                txtSokyCancuTH.IsEnabled = true;
                dtpTungayCancuTH.IsEnabled = true;
                dtpDenngayCancuTH.IsEnabled = true;
                txtSaiso.IsEnabled = true;
                txtTienTH.IsEnabled = true;
                txtBT_TH.IsEnabled = true;
                txtCD_TH.IsEnabled = true;
                txtTD_TH.IsEnabled = true;

                btnGhi.IsEnabled = true;

            }
            else
            {
                txtSokyCancuTH.IsEnabled = false;
                dtpTungayCancuTH.IsEnabled = false;
                dtpDenngayCancuTH.IsEnabled = false;
                txtSaiso.IsEnabled = false;
                txtTienTH.IsEnabled = false;
                txtBT_TH.IsEnabled = false;
                txtCD_TH.IsEnabled = false;
                txtTD_TH.IsEnabled = false;
            }
        }

        private void rdbThoaihoan_Unchecked(object sender, RoutedEventArgs e)
        {
            tabThoaihoan.IsEnabled = false;
            if (rdbThongthuong.IsChecked == true || rdbBieutong.IsChecked == true)
            {
                tabsluongBienban.IsSelected = true;
            }
            else
            {
                tabTutinh.IsSelected = true;
            }

            if (strBtnClick == "btnThemMoi" || strBtnClick == "SUA")
            {
                if (rdbThongthuong.IsChecked == true || rdbBieutong.IsChecked == true)
                {
                    tabsluongBienban.IsEnabled = true;
                    tabsluongCancu.IsEnabled = true;
                }
                else
                {
                    tabTutinh.IsEnabled = true;
                }
            }
        }

       

        

       

        

       

        
    }
}
